﻿// MT566




using Little.Soldier.SWIFT;
using Little.Soldier.SWIFT.Definition;
using System.Collections.Generic;
using System.ComponentModel;

namespace Little.Soldier.SWIFT.Messages.Category5
{
  public class MT566 : SwiftMessage
  {
    private static SwiftMessageDefinition MessageDefinition;
    private static SwiftTagSequenceDefinition U0002;
    private static SwiftTagDefinition U0003;
    private static SwiftTagSubItemDefinition U0004;
    private static SwiftTagDefinition U0005;
    private static SwiftTagSubItemDefinition U0006;
    private static SwiftTagSubItemDefinition U0007;
    private static SwiftTagDefinition U0008;
    private static SwiftTagSubItemDefinition U000E;
    private static SwiftTagSubItemDefinition U000F;
    private static SwiftTagSubItemDefinition U0010;
    private static SwiftTagDefinition U0011;
    private static SwiftTagSubItemDefinition U0012;
    private static SwiftTagSubItemDefinition U0013;
    private static SwiftTagSubItemDefinition U0014;
    private static SwiftTagChoiceDefinition U0015;
    private static SwiftTagDefinition U0016;
    private static SwiftTagSubItemDefinition U0017;
    private static SwiftTagSubItemDefinition U0018;
    private static SwiftTagDefinition U0019;
    private static SwiftTagSubItemDefinition U001A;
    private static SwiftTagSubItemDefinition U001B;
    private static SwiftTagSubItemDefinition U001C;
    private static SwiftTagSubItemDefinition U001D;
    private static SwiftTagSequenceDefinition U001E;
    private static SwiftTagDefinition U001F;
    private static SwiftTagSubItemDefinition U007F;
    private static SwiftTagDefinition U0080;
    private static SwiftTagSubItemDefinition U0081;
    private static SwiftTagSubItemDefinition U0082;
    private static SwiftTagSubItemDefinition U0083;
    private static SwiftTagChoiceDefinition U0084;
    private static SwiftTagDefinition U0086;
    private static SwiftTagSubItemDefinition U0087;
    private static SwiftTagSubItemDefinition U0088;
    private static SwiftTagDefinition U0089;
    private static SwiftTagSubItemDefinition U008A;
    private static SwiftTagSubItemDefinition U008B;
    private static SwiftTagSubItemDefinition U008C;
    private static SwiftTagDefinition U008D;
    private static SwiftTagSubItemDefinition U008E;
    private static SwiftTagSubItemDefinition U008F;
    private static SwiftTagDefinition U0090;
    private static SwiftTagSubItemDefinition U0091;
    private static SwiftTagDefinition U0092;
    private static SwiftTagSubItemDefinition U0093;
    private static SwiftTagSequenceDefinition U0094;
    private static SwiftTagDefinition U0095;
    private static SwiftTagSubItemDefinition U0096;
    private static SwiftTagChoiceDefinition U0097;
    private static SwiftTagDefinition U0098;
    private static SwiftTagSubItemDefinition U0099;
    private static SwiftTagSubItemDefinition U009A;
    private static SwiftTagDefinition U009B;
    private static SwiftTagSubItemDefinition U009C;
    private static SwiftTagSubItemDefinition U009D;
    private static SwiftTagSubItemDefinition U009E;
    private static SwiftTagDefinition U009F;
    private static SwiftTagSubItemDefinition U0001U0002;
    private static SwiftTagSubItemDefinition U0002U0002;
    private static SwiftTagChoiceDefinition U0003U0002;
    private static SwiftTagDefinition U0004U0002;
    private static SwiftTagSubItemDefinition U0005U0002;
    private static SwiftTagSubItemDefinition U0006U0002;
    private static SwiftTagSubItemDefinition U0007U0002;
    private static SwiftTagSubItemDefinition U0008U0002;
    private static SwiftTagSubItemDefinition U000EU0002;
    private static SwiftTagDefinition U000FU0002;
    private static SwiftTagSubItemDefinition U0010U0002;
    private static SwiftTagSubItemDefinition U0011U0002;
    private static SwiftTagDefinition U0012U0002;
    private static SwiftTagSubItemDefinition U0013U0002;
    private static SwiftTagSubItemDefinition U0014U0002;
    private static SwiftTagSubItemDefinition U0015U0002;
    private static SwiftTagSubItemDefinition U0016U0002;
    private static SwiftTagDefinition U0017U0002;
    private static SwiftTagSubItemDefinition U0018U0002;
    private static SwiftTagSubItemDefinition U0019U0002;
    private static SwiftTagSubItemDefinition U001AU0002;
    private static SwiftTagSequenceDefinition U001BU0002;
    private static SwiftTagDefinition U001CU0002;
    private static SwiftTagSubItemDefinition U001DU0002;
    private static SwiftTagDefinition U001EU0002;
    private static SwiftTagSubItemDefinition U001FU0002;
    private static SwiftTagSubItemDefinition U007FU0002;
    private static SwiftTagSubItemDefinition U0080U0002;
    private static SwiftTagSubItemDefinition U0081U0002;
    private static SwiftTagSubItemDefinition U0082U0002;
    private static SwiftTagDefinition U0083U0002;
    private static SwiftTagSubItemDefinition U0084U0002;
    private static SwiftTagSubItemDefinition U0086U0002;
    private static SwiftTagSubItemDefinition U0087U0002;
    private static SwiftTagChoiceDefinition U0088U0002;
    private static SwiftTagDefinition U0089U0002;
    private static SwiftTagSubItemDefinition U008AU0002;
    private static SwiftTagSubItemDefinition U008BU0002;
    private static SwiftTagSubItemDefinition U008CU0002;
    private static SwiftTagDefinition U008DU0002;
    private static SwiftTagSubItemDefinition U008EU0002;
    private static SwiftTagSubItemDefinition U008FU0002;
    private static SwiftTagDefinition U0090U0002;
    private static SwiftTagSubItemDefinition U0091U0002;
    private static SwiftTagSubItemDefinition U0092U0002;
    private static SwiftTagDefinition U0093U0002;
    private static SwiftTagSubItemDefinition U0094U0002;
    private static SwiftTagSubItemDefinition U0095U0002;
    private static SwiftTagDefinition U0096U0002;
    private static SwiftTagSubItemDefinition U0097U0002;
    private static SwiftTagSubItemDefinition U0098U0002;
    private static SwiftTagDefinition U0099U0002;
    private static SwiftTagSubItemDefinition U009AU0002;
    private static SwiftTagSubItemDefinition U009BU0002;
    private static SwiftTagSubItemDefinition U009CU0002;
    private static SwiftTagSubItemDefinition U009DU0002;
    private static SwiftTagDefinition U009EU0002;
    private static SwiftTagSubItemDefinition U009FU0002;
    private static SwiftTagChoiceDefinition U0001U0003;
    private static SwiftTagDefinition U0002U0003;
    private static SwiftTagSubItemDefinition U0003U0003;
    private static SwiftTagSubItemDefinition U0004U0003;
    private static SwiftTagSubItemDefinition U0005U0003;
    private static SwiftTagSubItemDefinition U0006U0003;
    private static SwiftTagDefinition U0007U0003;
    private static SwiftTagSubItemDefinition U0008U0003;
    private static SwiftTagSubItemDefinition U000EU0003;
    private static SwiftTagSubItemDefinition U000FU0003;
    private static SwiftTagSubItemDefinition U0010U0003;
    private static SwiftTagSubItemDefinition U0011U0003;
    private static SwiftTagDefinition U0012U0003;
    private static SwiftTagSubItemDefinition U0013U0003;
    private static SwiftTagSequenceDefinition U0014U0003;
    private static SwiftTagDefinition U0015U0003;
    private static SwiftTagSubItemDefinition U0016U0003;
    private static SwiftTagChoiceDefinition U0017U0003;
    private static SwiftTagDefinition U0018U0003;
    private static SwiftTagSubItemDefinition U0019U0003;
    private static SwiftTagSubItemDefinition U001AU0003;
    private static SwiftTagDefinition U001BU0003;
    private static SwiftTagSubItemDefinition U001CU0003;
    private static SwiftTagSubItemDefinition U001DU0003;
    private static SwiftTagSubItemDefinition U001EU0003;
    private static SwiftTagDefinition U001FU0003;
    private static SwiftTagSubItemDefinition U007FU0003;
    private static SwiftTagSubItemDefinition U0080U0003;
    private static SwiftTagSubItemDefinition U0081U0003;
    private static SwiftTagSubItemDefinition U0082U0003;
    private static SwiftTagDefinition U0083U0003;
    private static SwiftTagSubItemDefinition U0084U0003;
    private static SwiftTagSubItemDefinition U0086U0003;
    private static SwiftTagSubItemDefinition U0087U0003;
    private static SwiftTagSubItemDefinition U0088U0003;
    private static SwiftTagSubItemDefinition U0089U0003;
    private static SwiftTagSubItemDefinition U008AU0003;
    private static SwiftTagSubItemDefinition U008BU0003;
    private static SwiftTagSubItemDefinition U008CU0003;
    private static SwiftTagSubItemDefinition U008DU0003;
    private static SwiftTagChoiceDefinition U008EU0003;
    private static SwiftTagDefinition U008FU0003;
    private static SwiftTagSubItemDefinition U0090U0003;
    private static SwiftTagSubItemDefinition U0091U0003;
    private static SwiftTagSubItemDefinition U0092U0003;
    private static SwiftTagSubItemDefinition U0093U0003;
    private static SwiftTagDefinition U0094U0003;
    private static SwiftTagSubItemDefinition U0095U0003;
    private static SwiftTagSubItemDefinition U0096U0003;
    private static SwiftTagSubItemDefinition U0097U0003;
    private static SwiftTagSubItemDefinition U0098U0003;
    private static SwiftTagSubItemDefinition U0099U0003;
    private static SwiftTagSubItemDefinition U009AU0003;
    private static SwiftTagSubItemDefinition U009BU0003;
    private static SwiftTagSubItemDefinition U009CU0003;
    private static SwiftTagDefinition U009DU0003;
    private static SwiftTagSubItemDefinition U009EU0003;
    private static SwiftTagSubItemDefinition U009FU0003;
    private static SwiftTagSubItemDefinition U0001U0004;
    private static SwiftTagSubItemDefinition U0002U0004;
    private static SwiftTagDefinition U0003U0004;
    private static SwiftTagSubItemDefinition U0004U0004;
    private static SwiftTagSubItemDefinition U0005U0004;
    private static SwiftTagSubItemDefinition U0006U0004;
    private static SwiftTagSubItemDefinition U0007U0004;
    private static SwiftTagSubItemDefinition U0008U0004;
    private static SwiftTagSubItemDefinition U000EU0004;
    private static SwiftTagDefinition U000FU0004;
    private static SwiftTagSubItemDefinition U0010U0004;
    private static SwiftTagSubItemDefinition U0011U0004;
    private static SwiftTagSubItemDefinition U0012U0004;
    private static SwiftTagSubItemDefinition U0013U0004;
    private static SwiftTagDefinition U0014U0004;
    private static SwiftTagSubItemDefinition U0015U0004;
    private static SwiftTagSubItemDefinition U0016U0004;
    private static SwiftTagSubItemDefinition U0017U0004;
    private static SwiftTagSubItemDefinition U0018U0004;
    private static SwiftTagSubItemDefinition U0019U0004;
    private static SwiftTagSubItemDefinition U001AU0004;
    private static SwiftTagDefinition U001BU0004;
    private static SwiftTagSubItemDefinition U001CU0004;
    private static SwiftTagSubItemDefinition U001DU0004;
    private static SwiftTagChoiceDefinition U001EU0004;
    private static SwiftTagDefinition U001FU0004;
    private static SwiftTagSubItemDefinition U007FU0004;
    private static SwiftTagSubItemDefinition U0080U0004;
    private static SwiftTagDefinition U0081U0004;
    private static SwiftTagSubItemDefinition U0082U0004;
    private static SwiftTagSubItemDefinition U0083U0004;
    private static SwiftTagSubItemDefinition U0084U0004;
    private static SwiftTagSubItemDefinition U0086U0004;
    private static SwiftTagDefinition U0087U0004;
    private static SwiftTagSubItemDefinition U0088U0004;
    private static SwiftTagSubItemDefinition U0089U0004;
    private static SwiftTagSubItemDefinition U008AU0004;
    private static SwiftTagChoiceDefinition U008BU0004;
    private static SwiftTagDefinition U008CU0004;
    private static SwiftTagSubItemDefinition U008DU0004;
    private static SwiftTagSubItemDefinition U008EU0004;
    private static SwiftTagSubItemDefinition U008FU0004;
    private static SwiftTagSubItemDefinition U0090U0004;
    private static SwiftTagDefinition U0091U0004;
    private static SwiftTagSubItemDefinition U0092U0004;
    private static SwiftTagSubItemDefinition U0093U0004;
    private static SwiftTagSubItemDefinition U0094U0004;
    private static SwiftTagSubItemDefinition U0095U0004;
    private static SwiftTagSubItemDefinition U0096U0004;
    private static SwiftTagSubItemDefinition U0097U0004;
    private static SwiftTagChoiceDefinition U0098U0004;
    private static SwiftTagDefinition U0099U0004;
    private static SwiftTagSubItemDefinition U009AU0004;
    private static SwiftTagSubItemDefinition U009BU0004;
    private static SwiftTagSubItemDefinition U009CU0004;
    private static SwiftTagSubItemDefinition U009DU0004;
    private static SwiftTagDefinition U009EU0004;
    private static SwiftTagSubItemDefinition U009FU0004;
    private static SwiftTagSubItemDefinition U0001U0005;
    private static SwiftTagChoiceDefinition U0002U0005;
    private static SwiftTagDefinition U0003U0005;
    private static SwiftTagSubItemDefinition U0004U0005;
    private static SwiftTagSubItemDefinition U0005U0005;
    private static SwiftTagDefinition U0006U0005;
    private static SwiftTagSubItemDefinition U0007U0005;
    private static SwiftTagSubItemDefinition U0008U0005;
    private static SwiftTagSubItemDefinition U000EU0005;
    private static SwiftTagDefinition U000FU0005;
    private static SwiftTagSubItemDefinition U0010U0005;
    private static SwiftTagSubItemDefinition U0011U0005;
    private static SwiftTagDefinition U0012U0005;
    private static SwiftTagSubItemDefinition U0013U0005;
    private static SwiftTagSubItemDefinition U0014U0005;
    private static SwiftTagSubItemDefinition U0015U0005;
    private static SwiftTagDefinition U0016U0005;
    private static SwiftTagSubItemDefinition U0017U0005;
    private static SwiftTagSubItemDefinition U0018U0005;
    private static SwiftTagDefinition U0019U0005;
    private static SwiftTagSubItemDefinition U001AU0005;
    private static SwiftTagSequenceDefinition U001BU0005;
    private static SwiftTagDefinition U001CU0005;
    private static SwiftTagSubItemDefinition U001DU0005;
    private static SwiftTagDefinition U001EU0005;
    private static SwiftTagSubItemDefinition U001FU0005;
    private static SwiftTagSubItemDefinition U007FU0005;
    private static SwiftTagChoiceDefinition U0080U0005;
    private static SwiftTagDefinition U0081U0005;
    private static SwiftTagSubItemDefinition U0082U0005;
    private static SwiftTagSubItemDefinition U0083U0005;
    private static SwiftTagSubItemDefinition U0084U0005;
    private static SwiftTagDefinition U0086U0005;
    private static SwiftTagSubItemDefinition U0087U0005;
    private static SwiftTagSubItemDefinition U0088U0005;
    private static SwiftTagDefinition U0089U0005;
    private static SwiftTagSubItemDefinition U008AU0005;
    private static SwiftTagSubItemDefinition U008BU0005;
    private static SwiftTagChoiceDefinition U008CU0005;
    private static SwiftTagDefinition U008DU0005;
    private static SwiftTagSubItemDefinition U008EU0005;
    private static SwiftTagSubItemDefinition U008FU0005;
    private static SwiftTagDefinition U0090U0005;
    private static SwiftTagSubItemDefinition U0091U0005;
    private static SwiftTagSubItemDefinition U0092U0005;
    private static SwiftTagSubItemDefinition U0093U0005;
    private static SwiftTagDefinition U0094U0005;
    private static SwiftTagSubItemDefinition U0095U0005;
    private static SwiftTagSubItemDefinition U0096U0005;
    private static SwiftTagSubItemDefinition U0097U0005;
    private static SwiftTagSubItemDefinition U0098U0005;
    private static SwiftTagDefinition U0099U0005;
    private static SwiftTagSubItemDefinition U009AU0005;
    private static SwiftTagSubItemDefinition U009BU0005;
    private static SwiftTagSubItemDefinition U009CU0005;
    private static SwiftTagSubItemDefinition U009DU0005;
    private static SwiftTagSubItemDefinition U009EU0005;
    private static SwiftTagSubItemDefinition U009FU0005;
    private static SwiftTagSubItemDefinition U0001U0006;
    private static SwiftTagSubItemDefinition U0002U0006;
    private static SwiftTagSubItemDefinition U0003U0006;
    private static SwiftTagChoiceDefinition U0004U0006;
    private static SwiftTagDefinition U0005U0006;
    private static SwiftTagSubItemDefinition U0006U0006;
    private static SwiftTagSubItemDefinition U0007U0006;
    private static SwiftTagSubItemDefinition U0008U0006;
    private static SwiftTagSubItemDefinition U000EU0006;
    private static SwiftTagDefinition U000FU0006;
    private static SwiftTagSubItemDefinition U0010U0006;
    private static SwiftTagSubItemDefinition U0011U0006;
    private static SwiftTagSubItemDefinition U0012U0006;
    private static SwiftTagSubItemDefinition U0013U0006;
    private static SwiftTagSubItemDefinition U0014U0006;
    private static SwiftTagSubItemDefinition U0015U0006;
    private static SwiftTagSubItemDefinition U0016U0006;
    private static SwiftTagSubItemDefinition U0017U0006;
    private static SwiftTagDefinition U0018U0006;
    private static SwiftTagSubItemDefinition U0019U0006;
    private static SwiftTagSubItemDefinition U001AU0006;
    private static SwiftTagSubItemDefinition U001BU0006;
    private static SwiftTagSubItemDefinition U001CU0006;
    private static SwiftTagDefinition U001DU0006;
    private static SwiftTagSubItemDefinition U001EU0006;
    private static SwiftTagSubItemDefinition U001FU0006;
    private static SwiftTagSubItemDefinition U007FU0006;
    private static SwiftTagSubItemDefinition U0080U0006;
    private static SwiftTagSubItemDefinition U0081U0006;
    private static SwiftTagSubItemDefinition U0082U0006;
    private static SwiftTagDefinition U0083U0006;
    private static SwiftTagSubItemDefinition U0084U0006;
    private static SwiftTagSubItemDefinition U0086U0006;
    private static SwiftTagSubItemDefinition U0087U0006;
    private static SwiftTagSubItemDefinition U0088U0006;
    private static SwiftTagDefinition U0089U0006;
    private static SwiftTagSubItemDefinition U008AU0006;
    private static SwiftTagSubItemDefinition U008BU0006;
    private static SwiftTagSubItemDefinition U008CU0006;
    private static SwiftTagSubItemDefinition U008DU0006;
    private static SwiftTagSubItemDefinition U008EU0006;
    private static SwiftTagSubItemDefinition U008FU0006;
    private static SwiftTagChoiceDefinition U0090U0006;
    private static SwiftTagDefinition U0091U0006;
    private static SwiftTagSubItemDefinition U0092U0006;
    private static SwiftTagSubItemDefinition U0093U0006;
    private static SwiftTagDefinition U0094U0006;
    private static SwiftTagSubItemDefinition U0095U0006;
    private static SwiftTagSubItemDefinition U0096U0006;
    private static SwiftTagSubItemDefinition U0097U0006;
    private static SwiftTagSubItemDefinition U0098U0006;
    private static SwiftTagDefinition U0099U0006;
    private static SwiftTagSubItemDefinition U009AU0006;
    private static SwiftTagSubItemDefinition U009BU0006;
    private static SwiftTagSubItemDefinition U009CU0006;
    private static SwiftTagSubItemDefinition U009DU0006;
    private static SwiftTagSubItemDefinition U009EU0006;
    private static SwiftTagSubItemDefinition U009FU0006;
    private static SwiftTagSubItemDefinition U0001U0007;
    private static SwiftTagSubItemDefinition U0002U0007;
    private static SwiftTagChoiceDefinition U0003U0007;
    private static SwiftTagDefinition U0004U0007;
    private static SwiftTagSubItemDefinition U0005U0007;
    private static SwiftTagSubItemDefinition U0006U0007;
    private static SwiftTagSubItemDefinition U0007U0007;
    private static SwiftTagSubItemDefinition U0008U0007;
    private static SwiftTagDefinition U000EU0007;
    private static SwiftTagSubItemDefinition U000FU0007;
    private static SwiftTagSubItemDefinition U0010U0007;
    private static SwiftTagSubItemDefinition U0011U0007;
    private static SwiftTagSubItemDefinition U0012U0007;
    private static SwiftTagSubItemDefinition U0013U0007;
    private static SwiftTagSubItemDefinition U0014U0007;
    private static SwiftTagDefinition U0015U0007;
    private static SwiftTagSubItemDefinition U0016U0007;
    private static SwiftTagSubItemDefinition U0017U0007;
    private static SwiftTagSubItemDefinition U0018U0007;
    private static SwiftTagSubItemDefinition U0019U0007;
    private static SwiftTagSubItemDefinition U001AU0007;
    private static SwiftTagSubItemDefinition U001BU0007;
    private static SwiftTagSubItemDefinition U001CU0007;
    private static SwiftTagSubItemDefinition U001DU0007;
    private static SwiftTagDefinition U001EU0007;
    private static SwiftTagSubItemDefinition U001FU0007;
    private static SwiftTagSubItemDefinition U007FU0007;
    private static SwiftTagSubItemDefinition U0080U0007;
    private static SwiftTagSubItemDefinition U0081U0007;
    private static SwiftTagSubItemDefinition U0082U0007;
    private static SwiftTagSubItemDefinition U0083U0007;
    private static SwiftTagSubItemDefinition U0084U0007;
    private static SwiftTagSubItemDefinition U0086U0007;
    private static SwiftTagSubItemDefinition U0087U0007;
    private static SwiftTagDefinition U0088U0007;
    private static SwiftTagSubItemDefinition U0089U0007;
    private static SwiftTagSubItemDefinition U008AU0007;
    private static SwiftTagDefinition U008BU0007;
    private static SwiftTagSubItemDefinition U008CU0007;
    private static SwiftTagSubItemDefinition U008DU0007;
    private static SwiftTagSubItemDefinition U008EU0007;
    private static SwiftTagSubItemDefinition U008FU0007;
    private static SwiftTagSubItemDefinition U0090U0007;
    private static SwiftTagSequenceDefinition U0091U0007;
    private static SwiftTagDefinition U0092U0007;
    private static SwiftTagSubItemDefinition U0093U0007;
    private static SwiftTagChoiceDefinition U0094U0007;
    private static SwiftTagDefinition U0095U0007;
    private static SwiftTagSubItemDefinition U0096U0007;
    private static SwiftTagSubItemDefinition U0097U0007;
    private static SwiftTagSubItemDefinition U0098U0007;
    private static SwiftTagDefinition U0099U0007;
    private static SwiftTagSubItemDefinition U009AU0007;
    private static SwiftTagSubItemDefinition U009BU0007;
    private static SwiftTagDefinition U009CU0007;
    private static SwiftTagSubItemDefinition U009DU0007;
    private static SwiftTagSubItemDefinition U009EU0007;
    private static SwiftTagSubItemDefinition U009FU0007;
    private static SwiftTagSequenceDefinition U0001U0008;
    private static SwiftTagDefinition U0002U0008;
    private static SwiftTagSubItemDefinition U0003U0008;
    private static SwiftTagDefinition U0004U0008;
    private static SwiftTagSubItemDefinition U0005U0008;
    private static SwiftTagSubItemDefinition U0006U0008;
    private static SwiftTagSubItemDefinition U0007U0008;
    private static SwiftTagSubItemDefinition U0008U0008;
    private static SwiftTagSubItemDefinition U000EU0008;
    private static SwiftTagDefinition U000FU0008;
    private static SwiftTagSubItemDefinition U0010U0008;
    private static SwiftTagSubItemDefinition U0011U0008;
    private static SwiftTagSubItemDefinition U0012U0008;
    private static SwiftTagChoiceDefinition U0013U0008;
    private static SwiftTagDefinition U0014U0008;
    private static SwiftTagSubItemDefinition U0015U0008;
    private static SwiftTagSubItemDefinition U0016U0008;
    private static SwiftTagSubItemDefinition U0017U0008;
    private static SwiftTagDefinition U0018U0008;
    private static SwiftTagSubItemDefinition U0019U0008;
    private static SwiftTagSubItemDefinition U001AU0008;
    private static SwiftTagDefinition U001BU0008;
    private static SwiftTagSubItemDefinition U001CU0008;
    private static SwiftTagSubItemDefinition U001DU0008;
    private static SwiftTagDefinition U001EU0008;
    private static SwiftTagSubItemDefinition U001FU0008;
    private static SwiftTagSubItemDefinition U007FU0008;
    private static SwiftTagChoiceDefinition U0080U0008;
    private static SwiftTagDefinition U0081U0008;
    private static SwiftTagSubItemDefinition U0082U0008;
    private static SwiftTagSubItemDefinition U0083U0008;
    private static SwiftTagSubItemDefinition U0084U0008;
    private static SwiftTagSubItemDefinition U0086U0008;
    private static SwiftTagDefinition U0087U0008;
    private static SwiftTagSubItemDefinition U0088U0008;
    private static SwiftTagSubItemDefinition U0089U0008;
    private static SwiftTagSubItemDefinition U008AU0008;
    private static SwiftTagSubItemDefinition U008BU0008;
    private static SwiftTagSubItemDefinition U008CU0008;
    private static SwiftTagSubItemDefinition U008DU0008;
    private static SwiftTagDefinition U008EU0008;
    private static SwiftTagSubItemDefinition U008FU0008;
    private static SwiftTagSubItemDefinition U0090U0008;
    private static SwiftTagDefinition U0091U0008;
    private static SwiftTagSubItemDefinition U0092U0008;
    private static SwiftTagSubItemDefinition U0093U0008;
    private static SwiftTagSubItemDefinition U0094U0008;
    private static SwiftTagSubItemDefinition U0095U0008;
    private static SwiftTagDefinition U0096U0008;
    private static SwiftTagSubItemDefinition U0097U0008;
    private static SwiftTagDefinition U0098U0008;
    private static SwiftTagSubItemDefinition U0099U0008;
    private static SwiftTagSubItemDefinition U009AU0008;
    private static SwiftTagSubItemDefinition U009BU0008;
    private static SwiftTagSubItemDefinition U009CU0008;
    private static SwiftTagChoiceDefinition U009DU0008;
    private static SwiftTagDefinition U009EU0008;
    private static SwiftTagSubItemDefinition U009FU0008;
    private static SwiftTagSubItemDefinition U0001U000E;
    private static SwiftTagDefinition U0002U000E;
    private static SwiftTagSubItemDefinition U0003U000E;
    private static SwiftTagSubItemDefinition U0004U000E;
    private static SwiftTagSubItemDefinition U0005U000E;
    private static SwiftTagSubItemDefinition U0006U000E;
    private static SwiftTagDefinition U0007U000E;
    private static SwiftTagSubItemDefinition U0008U000E;
    private static SwiftTagSubItemDefinition U000EU000E;
    private static SwiftTagSubItemDefinition U000FU000E;
    private static SwiftTagSubItemDefinition U0010U000E;
    private static SwiftTagDefinition U0011U000E;
    private static SwiftTagSubItemDefinition U0012U000E;
    private static SwiftTagSubItemDefinition U0013U000E;
    private static SwiftTagSubItemDefinition U0014U000E;
    private static SwiftTagDefinition U0015U000E;
    private static SwiftTagSubItemDefinition U0016U000E;
    private static SwiftTagSubItemDefinition U0017U000E;
    private static SwiftTagChoiceDefinition U0018U000E;
    private static SwiftTagDefinition U0019U000E;
    private static SwiftTagSubItemDefinition U001AU000E;
    private static SwiftTagSubItemDefinition U001BU000E;
    private static SwiftTagSubItemDefinition U001CU000E;
    private static SwiftTagSubItemDefinition U001DU000E;
    private static SwiftTagDefinition U001EU000E;
    private static SwiftTagSubItemDefinition U001FU000E;
    private static SwiftTagSubItemDefinition U007FU000E;
    private static SwiftTagSubItemDefinition U0080U000E;
    private static SwiftTagSubItemDefinition U0081U000E;
    private static SwiftTagSubItemDefinition U0082U000E;
    private static SwiftTagSubItemDefinition U0083U000E;
    private static SwiftTagChoiceDefinition U0084U000E;
    private static SwiftTagDefinition U0086U000E;
    private static SwiftTagSubItemDefinition U0087U000E;
    private static SwiftTagSubItemDefinition U0088U000E;
    private static SwiftTagSubItemDefinition U0089U000E;
    private static SwiftTagSubItemDefinition U008AU000E;
    private static SwiftTagDefinition U008BU000E;
    private static SwiftTagSubItemDefinition U008CU000E;
    private static SwiftTagSubItemDefinition U008DU000E;
    private static SwiftTagSubItemDefinition U008EU000E;
    private static SwiftTagSubItemDefinition U008FU000E;
    private static SwiftTagSubItemDefinition U0090U000E;
    private static SwiftTagSubItemDefinition U0091U000E;
    private static SwiftTagSubItemDefinition U0092U000E;
    private static SwiftTagSubItemDefinition U0093U000E;
    private static SwiftTagDefinition U0094U000E;
    private static SwiftTagSubItemDefinition U0095U000E;
    private static SwiftTagSubItemDefinition U0096U000E;
    private static SwiftTagSubItemDefinition U0097U000E;
    private static SwiftTagSubItemDefinition U0098U000E;
    private static SwiftTagSubItemDefinition U0099U000E;
    private static SwiftTagSubItemDefinition U009AU000E;
    private static SwiftTagSubItemDefinition U009BU000E;
    private static SwiftTagDefinition U009CU000E;
    private static SwiftTagSubItemDefinition U009DU000E;
    private static SwiftTagSubItemDefinition U009EU000E;
    private static SwiftTagSubItemDefinition U009FU000E;
    private static SwiftTagSubItemDefinition U0001U000F;
    private static SwiftTagSubItemDefinition U0002U000F;
    private static SwiftTagSubItemDefinition U0003U000F;
    private static SwiftTagSubItemDefinition U0004U000F;
    private static SwiftTagChoiceDefinition U0005U000F;
    private static SwiftTagDefinition U0006U000F;
    private static SwiftTagSubItemDefinition U0007U000F;
    private static SwiftTagSubItemDefinition U0008U000F;
    private static SwiftTagDefinition U000EU000F;
    private static SwiftTagSubItemDefinition U000FU000F;
    private static SwiftTagSubItemDefinition U0010U000F;
    private static SwiftTagSubItemDefinition U0011U000F;
    private static SwiftTagDefinition U0012U000F;
    private static SwiftTagSubItemDefinition U0013U000F;
    private static SwiftTagSubItemDefinition U0014U000F;
    private static SwiftTagSubItemDefinition U0015U000F;
    private static SwiftTagSubItemDefinition U0016U000F;
    private static SwiftTagDefinition U0017U000F;
    private static SwiftTagSubItemDefinition U0018U000F;
    private static SwiftTagSubItemDefinition U0019U000F;
    private static SwiftTagSubItemDefinition U001AU000F;
    private static SwiftTagSubItemDefinition U001BU000F;
    private static SwiftTagSubItemDefinition U001CU000F;
    private static SwiftTagSubItemDefinition U001DU000F;
    private static SwiftTagSubItemDefinition U001EU000F;
    private static SwiftTagSubItemDefinition U001FU000F;
    private static SwiftTagSubItemDefinition U007FU000F;
    private static SwiftTagSequenceDefinition U0080U000F;
    private static SwiftTagDefinition U0081U000F;
    private static SwiftTagSubItemDefinition U0082U000F;
    private static SwiftTagChoiceDefinition U0083U000F;
    private static SwiftTagDefinition U0084U000F;
    private static SwiftTagSubItemDefinition U0086U000F;
    private static SwiftTagSubItemDefinition U0087U000F;
    private static SwiftTagDefinition U0088U000F;
    private static SwiftTagSubItemDefinition U0089U000F;
    private static SwiftTagSubItemDefinition U008AU000F;
    private static SwiftTagDefinition U008BU000F;
    private static SwiftTagSubItemDefinition U008CU000F;
    private static SwiftTagSubItemDefinition U008DU000F;
    private static SwiftTagSubItemDefinition U008EU000F;
    private static SwiftTagSubItemDefinition U008FU000F;
    private static SwiftTagDefinition U0090U000F;
    private static SwiftTagSubItemDefinition U0091U000F;
    private static SwiftTagSubItemDefinition U0092U000F;
    private static SwiftTagDefinition U0093U000F;
    private static SwiftTagSubItemDefinition U0094U000F;
    private static SwiftTagSubItemDefinition U0095U000F;
    private static SwiftTagSubItemDefinition U0096U000F;
    private static SwiftTagSubItemDefinition U0097U000F;
    private static SwiftTagSubItemDefinition U0098U000F;
    private static SwiftTagDefinition U0099U000F;
    private static SwiftTagSubItemDefinition U009AU000F;
    private static SwiftTagSubItemDefinition U009BU000F;
    private static SwiftTagDefinition U009CU000F;
    private static SwiftTagSubItemDefinition U009DU000F;
    private static SwiftTagSubItemDefinition U009EU000F;
    private static SwiftTagDefinition U009FU000F;
    private static SwiftTagSubItemDefinition U0001U0010;
    private static SwiftTagSubItemDefinition U0002U0010;
    private static SwiftTagDefinition U0003U0010;
    private static SwiftTagSubItemDefinition U0004U0010;
    private static SwiftTagDefinition U0005U0010;
    private static SwiftTagSubItemDefinition U0006U0010;
    private static SwiftTagSequenceDefinition U0007U0010;
    private static SwiftTagDefinition U0008U0010;
    private static SwiftTagSubItemDefinition U000EU0010;
    private static SwiftTagChoiceDefinition U000FU0010;
    private static SwiftTagDefinition U0010U0010;
    private static SwiftTagSubItemDefinition U0011U0010;
    private static SwiftTagSubItemDefinition U0012U0010;
    private static SwiftTagDefinition U0013U0010;
    private static SwiftTagSubItemDefinition U0014U0010;
    private static SwiftTagSubItemDefinition U0015U0010;
    private static SwiftTagSubItemDefinition U0016U0010;
    private static SwiftTagChoiceDefinition U0017U0010;
    private static SwiftTagDefinition U0018U0010;
    private static SwiftTagSubItemDefinition U0019U0010;
    private static SwiftTagSubItemDefinition U001AU0010;
    private static SwiftTagDefinition U001BU0010;
    private static SwiftTagSubItemDefinition U001CU0010;
    private static SwiftTagSubItemDefinition U001DU0010;
    private static SwiftTagSequenceDefinition U001EU0010;
    private static SwiftTagDefinition U001FU0010;
    private static SwiftTagSubItemDefinition U007FU0010;
    private static SwiftTagChoiceDefinition U0080U0010;
    private static SwiftTagDefinition U0081U0010;
    private static SwiftTagSubItemDefinition U0082U0010;
    private static SwiftTagSubItemDefinition U0083U0010;
    private static SwiftTagDefinition U0084U0010;
    private static SwiftTagSubItemDefinition U0086U0010;
    private static SwiftTagSubItemDefinition U0087U0010;
    private static SwiftTagSubItemDefinition U0088U0010;
    private static SwiftTagSubItemDefinition U0089U0010;
    private static SwiftTagDefinition U008AU0010;
    private static SwiftTagSubItemDefinition U008BU0010;
    private static SwiftTagSubItemDefinition U008CU0010;
    private static SwiftTagDefinition U008DU0010;
    private static SwiftTagSubItemDefinition U008EU0010;
    private static SwiftTagSubItemDefinition U008FU0010;
    private static SwiftTagSubItemDefinition U0090U0010;
    private static SwiftTagSubItemDefinition U0091U0010;
    private static SwiftTagSubItemDefinition U0092U0010;
    private static SwiftTagChoiceDefinition U0093U0010;
    private static SwiftTagDefinition U0094U0010;
    private static SwiftTagSubItemDefinition U0095U0010;
    private static SwiftTagSubItemDefinition U0096U0010;
    private static SwiftTagDefinition U0097U0010;
    private static SwiftTagSubItemDefinition U0098U0010;
    private static SwiftTagSubItemDefinition U0099U0010;
    private static SwiftTagDefinition U009AU0010;
    private static SwiftTagSubItemDefinition U009BU0010;
    private static SwiftTagSubItemDefinition U009CU0010;
    private static SwiftTagDefinition U009DU0010;
    private static SwiftTagSubItemDefinition U009EU0010;
    private static SwiftTagSubItemDefinition U009FU0010;
    private static SwiftTagDefinition U0001U0011;
    private static SwiftTagSubItemDefinition U0002U0011;
    private static SwiftTagDefinition U0003U0011;
    private static SwiftTagSubItemDefinition U0004U0011;
    private static SwiftTagSubItemDefinition U0005U0011;
    private static SwiftTagSubItemDefinition U0006U0011;
    private static SwiftTagSubItemDefinition U0007U0011;
    private static SwiftTagChoiceDefinition U0008U0011;
    private static SwiftTagDefinition U000EU0011;
    private static SwiftTagSubItemDefinition U000FU0011;
    private static SwiftTagSubItemDefinition U0010U0011;
    private static SwiftTagDefinition U0011U0011;
    private static SwiftTagSubItemDefinition U0012U0011;
    private static SwiftTagSubItemDefinition U0013U0011;
    private static SwiftTagSubItemDefinition U0014U0011;
    private static SwiftTagSubItemDefinition U0015U0011;
    private static SwiftTagDefinition U0016U0011;
    private static SwiftTagSubItemDefinition U0017U0011;
    private static SwiftTagSubItemDefinition U0018U0011;
    private static SwiftTagSubItemDefinition U0019U0011;
    private static SwiftTagSubItemDefinition U001AU0011;
    private static SwiftTagSubItemDefinition U001BU0011;
    private static SwiftTagSubItemDefinition U001CU0011;
    private static SwiftTagSubItemDefinition U001DU0011;
    private static SwiftTagSubItemDefinition U001EU0011;
    private static SwiftTagSubItemDefinition U001FU0011;
    private static SwiftTagDefinition U007FU0011;
    private static SwiftTagSubItemDefinition U0080U0011;
    private static SwiftTagSubItemDefinition U0081U0011;
    private static SwiftTagSubItemDefinition U0082U0011;
    private static SwiftTagSubItemDefinition U0083U0011;
    private static SwiftTagSubItemDefinition U0084U0011;
    private static SwiftTagChoiceDefinition U0086U0011;
    private static SwiftTagDefinition U0087U0011;
    private static SwiftTagSubItemDefinition U0088U0011;
    private static SwiftTagSubItemDefinition U0089U0011;
    private static SwiftTagSubItemDefinition U008AU0011;
    private static SwiftTagSubItemDefinition U008BU0011;
    private static SwiftTagDefinition U008CU0011;
    private static SwiftTagSubItemDefinition U008DU0011;
    private static SwiftTagSubItemDefinition U008EU0011;
    private static SwiftTagSubItemDefinition U008FU0011;
    private static SwiftTagSubItemDefinition U0090U0011;
    private static SwiftTagSubItemDefinition U0091U0011;
    private static SwiftTagSubItemDefinition U0092U0011;
    private static SwiftTagDefinition U0093U0011;
    private static SwiftTagSubItemDefinition U0094U0011;
    private static SwiftTagSubItemDefinition U0095U0011;
    private static SwiftTagSubItemDefinition U0096U0011;
    private static SwiftTagSubItemDefinition U0097U0011;
    private static SwiftTagSubItemDefinition U0098U0011;
    private static SwiftTagSubItemDefinition U0099U0011;
    private static SwiftTagSubItemDefinition U009AU0011;
    private static SwiftTagSubItemDefinition U009BU0011;
    private static SwiftTagDefinition U009CU0011;
    private static SwiftTagSubItemDefinition U009DU0011;
    private static SwiftTagSubItemDefinition U009EU0011;
    private static SwiftTagSubItemDefinition U009FU0011;
    private static SwiftTagSubItemDefinition U0001U0012;
    private static SwiftTagSubItemDefinition U0002U0012;
    private static SwiftTagSubItemDefinition U0003U0012;
    private static SwiftTagSubItemDefinition U0004U0012;
    private static SwiftTagSubItemDefinition U0005U0012;
    private static SwiftTagSubItemDefinition U0006U0012;
    private static SwiftTagSequenceDefinition U0007U0012;
    private static SwiftTagDefinition U0008U0012;
    private static SwiftTagSubItemDefinition U000EU0012;
    private static SwiftTagDefinition U000FU0012;
    private static SwiftTagSubItemDefinition U0010U0012;
    private static SwiftTagSubItemDefinition U0011U0012;
    private static SwiftTagChoiceDefinition U0012U0012;
    private static SwiftTagDefinition U0013U0012;
    private static SwiftTagSubItemDefinition U0014U0012;
    private static SwiftTagSubItemDefinition U0015U0012;
    private static SwiftTagDefinition U0016U0012;
    private static SwiftTagSubItemDefinition U0017U0012;
    private static SwiftTagSubItemDefinition U0018U0012;
    private static SwiftTagSubItemDefinition U0019U0012;
    private static SwiftTagSubItemDefinition U001AU0012;
    private static SwiftTagDefinition U001BU0012;
    private static SwiftTagSubItemDefinition U001CU0012;
    private static SwiftTagDefinition U001DU0012;
    private static SwiftTagSubItemDefinition U001EU0012;
    private static SwiftTagDefinition U001FU0012;
    private static SwiftTagSubItemDefinition U007FU0012;
    private static SwiftTagSequenceDefinition U0080U0012;
    private static SwiftTagDefinition U0081U0012;
    private static SwiftTagSubItemDefinition U0082U0012;
    private static SwiftTagDefinition U0083U0012;
    private static SwiftTagSubItemDefinition U0084U0012;
    private static SwiftTagSubItemDefinition U0086U0012;
    private static SwiftTagChoiceDefinition U0087U0012;
    private static SwiftTagDefinition U0088U0012;
    private static SwiftTagSubItemDefinition U0089U0012;
    private static SwiftTagSubItemDefinition U008AU0012;
    private static SwiftTagDefinition U008BU0012;
    private static SwiftTagSubItemDefinition U008CU0012;
    private static SwiftTagSubItemDefinition U008DU0012;
    private static SwiftTagSubItemDefinition U008EU0012;
    private static SwiftTagSubItemDefinition U008FU0012;
    private static SwiftTagDefinition U0090U0012;
    private static SwiftTagSubItemDefinition U0091U0012;
    private static SwiftTagSubItemDefinition U0092U0012;
    private static SwiftTagDefinition U0093U0012;
    private static SwiftTagSubItemDefinition U0094U0012;

    [Description("General Information")]
    public MT566.SequenceAClass SequenceA
    {
      get
      {
        return new MT566.SequenceAClass((SwiftElement) this, 0, false);
      }
    }

    [Description("Underlying Securities")]
    public MT566.SequenceBClass SequenceB
    {
      get
      {
        return new MT566.SequenceBClass((SwiftElement) this, 0, false);
      }
    }

    [Description("Corporate Action Details")]
    public MT566.SequenceCClass SequenceC
    {
      get
      {
        MT566.SequenceCClass sequenceCclass = new MT566.SequenceCClass((SwiftElement) this, 0, false);
        if (this.ListTags((SwiftElement) sequenceCclass).Count > 0)
          return sequenceCclass;
        else
          return (MT566.SequenceCClass) null;
      }
    }

    [Description("Corporate Action Confirmation")]
    public MT566.SequenceDClass SequenceD
    {
      get
      {
        return new MT566.SequenceDClass((SwiftElement) this, 0, false);
      }
    }

    [Description("Additional Information")]
    public MT566.SequenceEClass SequenceE
    {
      get
      {
        MT566.SequenceEClass sequenceEclass = new MT566.SequenceEClass((SwiftElement) this, 0, false);
        if (this.ListTags((SwiftElement) sequenceEclass).Count > 0)
          return sequenceEclass;
        else
          return (MT566.SequenceEClass) null;
      }
    }

    public MT566()
      : base(true)
    {
    }

    public MT566(SwiftMessage message)
      : base(message)
    {
    }

    public MT566.SequenceCClass AddSequenceC()
    {
      return this.SequenceC ?? new MT566.SequenceCClass((SwiftElement) this, 0, true);
    }

    public void RemoveSequenceC(MT566.SequenceCClass sequence)
    {
      foreach (SwiftTag tag in this.ListTags((SwiftElement) sequence))
        this.RemoveTag(tag);
    }

    public MT566.SequenceEClass AddSequenceE()
    {
      return this.SequenceE ?? new MT566.SequenceEClass((SwiftElement) this, 0, true);
    }

    public void RemoveSequenceE(MT566.SequenceEClass sequence)
    {
      foreach (SwiftTag tag in this.ListTags((SwiftElement) sequence))
        this.RemoveTag(tag);
    }

    internal override SwiftMessageDefinition MsgDefinition()
    {
      return MT566.MessageDefinition;
    }

    protected override void InitSwiftMessageDefinition()
    {
      MT566.MessageDefinition = new SwiftMessageDefinition("MT566", "Corporate Action Confirmation");
      MT566.U0002 = new SwiftTagSequenceDefinition("SequenceA", "General Information");
      MT566.U0003 = new SwiftTagDefinition("StartOfBlock_A_16R", "Start Of Block");
      MT566.U0003.TagName = ":16R:GENL";
      MT566.U0004 = new SwiftTagSubItemDefinition("StartOfBlock", "Start Of Block");
      MT566.U0004.Mandatory = false;
      MT566.U0003.Elements.Add((SwiftDefinitionElement) MT566.U0004);
      MT566.U0002.Elements.Add((SwiftDefinitionElement) MT566.U0003);
      MT566.U0005 = new SwiftTagDefinition("Reference_A_20C", "Reference");
      MT566.U0005.TagName = ":20C::";
      MT566.U0005.Multiple = true;
      MT566.U0006 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0005.Elements.Add((SwiftDefinitionElement) MT566.U0006);
      MT566.U0007 = new SwiftTagSubItemDefinition("Reference", "Reference");
      MT566.U0005.Elements.Add((SwiftDefinitionElement) MT566.U0007);
      MT566.U0002.Elements.Add((SwiftDefinitionElement) MT566.U0005);
      MT566.U0008 = new SwiftTagDefinition("FunctionOfTheMessage_A_23G", "Function of the Message");
      MT566.U0008.TagName = ":23G:";
      MT566.U000E = new SwiftTagSubItemDefinition("Function", "Function");
      MT566.U0008.Elements.Add((SwiftDefinitionElement) MT566.U000E);
      MT566.U000F = new SwiftTagSubItemDefinition("SubFunction", "Sub Function");
      MT566.U000F.Mandatory = false;
      MT566.U0010 = new SwiftTagSubItemDefinition("SubFunction_1", "SubFunction");
      MT566.U000F.Elements.Add((SwiftDefinitionElement) MT566.U0010);
      MT566.U0008.Elements.Add((SwiftDefinitionElement) MT566.U000F);
      MT566.U0002.Elements.Add((SwiftDefinitionElement) MT566.U0008);
      MT566.U0011 = new SwiftTagDefinition("Indicator_A_22F", "Corporate Action Event Indicator");
      MT566.U0011.TagName = ":22F::";
      MT566.U0012 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0011.Elements.Add((SwiftDefinitionElement) MT566.U0012);
      MT566.U0013 = new SwiftTagSubItemDefinition("DataSource", "Data Source");
      MT566.U0011.Elements.Add((SwiftDefinitionElement) MT566.U0013);
      MT566.U0014 = new SwiftTagSubItemDefinition("Indicator", "Indicator");
      MT566.U0011.Elements.Add((SwiftDefinitionElement) MT566.U0014);
      MT566.U0002.Elements.Add((SwiftDefinitionElement) MT566.U0011);
      MT566.U0015 = new SwiftTagChoiceDefinition("Choice", "");
      MT566.U0015.Mandatory = false;
      MT566.U0015.Multiple = true;
      MT566.U0016 = new SwiftTagDefinition("Date_A_98A", "Preparation Date");
      MT566.U0016.TagName = ":98A::";
      MT566.U0017 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0016.Elements.Add((SwiftDefinitionElement) MT566.U0017);
      MT566.U0018 = new SwiftTagSubItemDefinition("Date", "Date");
      MT566.U0016.Elements.Add((SwiftDefinitionElement) MT566.U0018);
      MT566.U0015.Elements.Add((SwiftDefinitionElement) MT566.U0016);
      MT566.U0019 = new SwiftTagDefinition("DateTime_A_98C", "Preparation Date/Time");
      MT566.U0019.TagName = ":98C::";
      MT566.U001A = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0019.Elements.Add((SwiftDefinitionElement) MT566.U001A);
      MT566.U001B = new SwiftTagSubItemDefinition("DateTime", "Preparation Date/Time");
      MT566.U001C = new SwiftTagSubItemDefinition("Date", "Date");
      MT566.U001B.Elements.Add((SwiftDefinitionElement) MT566.U001C);
      MT566.U001D = new SwiftTagSubItemDefinition("Time", "Time");
      MT566.U001B.Elements.Add((SwiftDefinitionElement) MT566.U001D);
      MT566.U0019.Elements.Add((SwiftDefinitionElement) MT566.U001B);
      MT566.U0015.Elements.Add((SwiftDefinitionElement) MT566.U0019);
      MT566.U0002.Elements.Add((SwiftDefinitionElement) MT566.U0015);
      MT566.U001E = new SwiftTagSequenceDefinition("SequenceA1", "Linkages");
      MT566.U001E.Mandatory = false;
      MT566.U001E.Multiple = true;
      MT566.U001F = new SwiftTagDefinition("StartOfBlock_A1_16R", "Start Of Block");
      MT566.U001F.TagName = ":16R:LINK";
      MT566.U007F = new SwiftTagSubItemDefinition("StartOfBlock", "Start Of Block");
      MT566.U007F.Mandatory = false;
      MT566.U001F.Elements.Add((SwiftDefinitionElement) MT566.U007F);
      MT566.U001E.Elements.Add((SwiftDefinitionElement) MT566.U001F);
      MT566.U0080 = new SwiftTagDefinition("Indicator_A1_22F", "Linkage Type Indicator");
      MT566.U0080.TagName = ":22F::";
      MT566.U0080.Mandatory = false;
      MT566.U0081 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0080.Elements.Add((SwiftDefinitionElement) MT566.U0081);
      MT566.U0082 = new SwiftTagSubItemDefinition("DataSource", "Data Source");
      MT566.U0080.Elements.Add((SwiftDefinitionElement) MT566.U0082);
      MT566.U0083 = new SwiftTagSubItemDefinition("Indicator", "Indicator");
      MT566.U0080.Elements.Add((SwiftDefinitionElement) MT566.U0083);
      MT566.U001E.Elements.Add((SwiftDefinitionElement) MT566.U0080);
      MT566.U0084 = new SwiftTagChoiceDefinition("Choice", "");
      MT566.U0084.Mandatory = false;
      MT566.U0084.Multiple = true;
      MT566.U0086 = new SwiftTagDefinition("NumberIdentification_A1_13A", "Linked Message");
      MT566.U0086.TagName = ":13A::";
      MT566.U0086.Mandatory = false;
      MT566.U0087 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0086.Elements.Add((SwiftDefinitionElement) MT566.U0087);
      MT566.U0088 = new SwiftTagSubItemDefinition("NumberId", "Number Id");
      MT566.U0086.Elements.Add((SwiftDefinitionElement) MT566.U0088);
      MT566.U0084.Elements.Add((SwiftDefinitionElement) MT566.U0086);
      MT566.U0089 = new SwiftTagDefinition("NumberIdentification_A1_13B", "Linked Message");
      MT566.U0089.TagName = ":13B::";
      MT566.U0089.Mandatory = false;
      MT566.U008A = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0089.Elements.Add((SwiftDefinitionElement) MT566.U008A);
      MT566.U008B = new SwiftTagSubItemDefinition("DataSource", "Data Source Scheme");
      MT566.U0089.Elements.Add((SwiftDefinitionElement) MT566.U008B);
      MT566.U008C = new SwiftTagSubItemDefinition("Number_13B", "Number");
      MT566.U0089.Elements.Add((SwiftDefinitionElement) MT566.U008C);
      MT566.U0084.Elements.Add((SwiftDefinitionElement) MT566.U0089);
      MT566.U001E.Elements.Add((SwiftDefinitionElement) MT566.U0084);
      MT566.U008D = new SwiftTagDefinition("Reference_A1_20C", "Reference");
      MT566.U008D.TagName = ":20C::";
      MT566.U008E = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U008D.Elements.Add((SwiftDefinitionElement) MT566.U008E);
      MT566.U008F = new SwiftTagSubItemDefinition("Reference", "Reference");
      MT566.U008D.Elements.Add((SwiftDefinitionElement) MT566.U008F);
      MT566.U001E.Elements.Add((SwiftDefinitionElement) MT566.U008D);
      MT566.U0090 = new SwiftTagDefinition("EndOfBlock_A1_16S", "End Of Block");
      MT566.U0090.TagName = ":16S:LINK";
      MT566.U0091 = new SwiftTagSubItemDefinition("EndOfBlock", "End Of Block");
      MT566.U0091.Mandatory = false;
      MT566.U0090.Elements.Add((SwiftDefinitionElement) MT566.U0091);
      MT566.U001E.Elements.Add((SwiftDefinitionElement) MT566.U0090);
      MT566.U0002.Elements.Add((SwiftDefinitionElement) MT566.U001E);
      MT566.U0092 = new SwiftTagDefinition("EndOfBlock_A_16S", "End Of Block");
      MT566.U0092.TagName = ":16S:GENL";
      MT566.U0093 = new SwiftTagSubItemDefinition("EndOfBlock", "End Of Block");
      MT566.U0093.Mandatory = false;
      MT566.U0092.Elements.Add((SwiftDefinitionElement) MT566.U0093);
      MT566.U0002.Elements.Add((SwiftDefinitionElement) MT566.U0092);
      MT566.MessageDefinition.Elements.Add((SwiftDefinitionElement) MT566.U0002);
      MT566.U0094 = new SwiftTagSequenceDefinition("SequenceB", "Underlying Securities");
      MT566.U0095 = new SwiftTagDefinition("StartOfBlock_B_16R", "Start Of Block");
      MT566.U0095.TagName = ":16R:USECU";
      MT566.U0096 = new SwiftTagSubItemDefinition("StartOfBlock", "Start Of Block");
      MT566.U0096.Mandatory = false;
      MT566.U0095.Elements.Add((SwiftDefinitionElement) MT566.U0096);
      MT566.U0094.Elements.Add((SwiftDefinitionElement) MT566.U0095);
      MT566.U0097 = new SwiftTagChoiceDefinition("Choice", "");
      MT566.U0097.Mandatory = false;
      MT566.U0097.Multiple = true;
      MT566.U0098 = new SwiftTagDefinition("Party_B_95P", "Party");
      MT566.U0098.TagName = ":95P::";
      MT566.U0099 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0098.Elements.Add((SwiftDefinitionElement) MT566.U0099);
      MT566.U009A = new SwiftTagSubItemDefinition("BankIdentifierCode", "Bank Identifier Code");
      MT566.U0098.Elements.Add((SwiftDefinitionElement) MT566.U009A);
      MT566.U0097.Elements.Add((SwiftDefinitionElement) MT566.U0098);
      MT566.U009B = new SwiftTagDefinition("Party_B_95R", "Party");
      MT566.U009B.TagName = ":95R::";
      MT566.U009C = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U009B.Elements.Add((SwiftDefinitionElement) MT566.U009C);
      MT566.U009D = new SwiftTagSubItemDefinition("DataSourceScheme", "Data Source Scheme");
      MT566.U009B.Elements.Add((SwiftDefinitionElement) MT566.U009D);
      MT566.U009E = new SwiftTagSubItemDefinition("ProprietaryCode", "Proprietary Code");
      MT566.U009B.Elements.Add((SwiftDefinitionElement) MT566.U009E);
      MT566.U0097.Elements.Add((SwiftDefinitionElement) MT566.U009B);
      MT566.U0094.Elements.Add((SwiftDefinitionElement) MT566.U0097);
      MT566.U009F = new SwiftTagDefinition("Account_B_97A", "Safekeeping Account");
      MT566.U009F.TagName = ":97A::";
      MT566.U0001U0002 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U009F.Elements.Add((SwiftDefinitionElement) MT566.U0001U0002);
      MT566.U0002U0002 = new SwiftTagSubItemDefinition("AccountNumber", "Account Number");
      MT566.U009F.Elements.Add((SwiftDefinitionElement) MT566.U0002U0002);
      MT566.U0094.Elements.Add((SwiftDefinitionElement) MT566.U009F);
      MT566.U0003U0002 = new SwiftTagChoiceDefinition("Choice", "");
      MT566.U0003U0002.Mandatory = false;
      MT566.U0003U0002.Multiple = true;
      MT566.U0004U0002 = new SwiftTagDefinition("Place_B_94B", "Place Of Safe Keeping");
      MT566.U0004U0002.TagName = ":94B::";
      MT566.U0005U0002 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0004U0002.Elements.Add((SwiftDefinitionElement) MT566.U0005U0002);
      MT566.U0006U0002 = new SwiftTagSubItemDefinition("DataSource", "Data Source");
      MT566.U0004U0002.Elements.Add((SwiftDefinitionElement) MT566.U0006U0002);
      MT566.U0007U0002 = new SwiftTagSubItemDefinition("PlaceCode", "Place");
      MT566.U0004U0002.Elements.Add((SwiftDefinitionElement) MT566.U0007U0002);
      MT566.U0008U0002 = new SwiftTagSubItemDefinition("Narrative", "Narrative");
      MT566.U0008U0002.Mandatory = false;
      MT566.U000EU0002 = new SwiftTagSubItemDefinition("Narrative_94B", "Narrative");
      MT566.U0008U0002.Elements.Add((SwiftDefinitionElement) MT566.U000EU0002);
      MT566.U0004U0002.Elements.Add((SwiftDefinitionElement) MT566.U0008U0002);
      MT566.U0003U0002.Elements.Add((SwiftDefinitionElement) MT566.U0004U0002);
      MT566.U000FU0002 = new SwiftTagDefinition("Place_B_94C", "Place of Safekeeping");
      MT566.U000FU0002.TagName = ":94C::";
      MT566.U0010U0002 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U000FU0002.Elements.Add((SwiftDefinitionElement) MT566.U0010U0002);
      MT566.U0011U0002 = new SwiftTagSubItemDefinition("CountryCode", "Country Code");
      MT566.U000FU0002.Elements.Add((SwiftDefinitionElement) MT566.U0011U0002);
      MT566.U0003U0002.Elements.Add((SwiftDefinitionElement) MT566.U000FU0002);
      MT566.U0012U0002 = new SwiftTagDefinition("Place_B_94F", "Place Of Safe Keeping");
      MT566.U0012U0002.TagName = ":94F::";
      MT566.U0013U0002 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0012U0002.Elements.Add((SwiftDefinitionElement) MT566.U0013U0002);
      MT566.U0014U0002 = new SwiftTagSubItemDefinition("Place", "Place Of Safe Keeping");
      MT566.U0015U0002 = new SwiftTagSubItemDefinition("Place_1", "Place");
      MT566.U0014U0002.Elements.Add((SwiftDefinitionElement) MT566.U0015U0002);
      MT566.U0016U0002 = new SwiftTagSubItemDefinition("BankIdentifierCode", "Bank Identifier Code");
      MT566.U0014U0002.Elements.Add((SwiftDefinitionElement) MT566.U0016U0002);
      MT566.U0012U0002.Elements.Add((SwiftDefinitionElement) MT566.U0014U0002);
      MT566.U0003U0002.Elements.Add((SwiftDefinitionElement) MT566.U0012U0002);
      MT566.U0094.Elements.Add((SwiftDefinitionElement) MT566.U0003U0002);
      MT566.U0017U0002 = new SwiftTagDefinition("IdentificationOfFinancialInstrument_B_35B", "Identification of the Financial Instrument");
      MT566.U0017U0002.TagName = ":35B:";
      MT566.U0018U0002 = new SwiftTagSubItemDefinition("IdentificationOfSecurity", "Identification of Security");
      MT566.U0018U0002.Mandatory = false;
      MT566.U0019U0002 = new SwiftTagSubItemDefinition("IdentificationOfSecurity_1", "Identification of Security");
      MT566.U0018U0002.Elements.Add((SwiftDefinitionElement) MT566.U0019U0002);
      MT566.U0017U0002.Elements.Add((SwiftDefinitionElement) MT566.U0018U0002);
      MT566.U001AU0002 = new SwiftTagSubItemDefinition("DescriptionOfSecurity", "Description Of Security");
      MT566.U001AU0002.Mandatory = false;
      MT566.U0017U0002.Elements.Add((SwiftDefinitionElement) MT566.U001AU0002);
      MT566.U0094.Elements.Add((SwiftDefinitionElement) MT566.U0017U0002);
      MT566.U001BU0002 = new SwiftTagSequenceDefinition("SequenceB1", "Financial Instrument Attributes");
      MT566.U001BU0002.Mandatory = false;
      MT566.U001CU0002 = new SwiftTagDefinition("StartOfBlock_B1_16R", "Start Of Block");
      MT566.U001CU0002.TagName = ":16R:FIA";
      MT566.U001DU0002 = new SwiftTagSubItemDefinition("StartOfBlock", "Start Of Block");
      MT566.U001DU0002.Mandatory = false;
      MT566.U001CU0002.Elements.Add((SwiftDefinitionElement) MT566.U001DU0002);
      MT566.U001BU0002.Elements.Add((SwiftDefinitionElement) MT566.U001CU0002);
      MT566.U001EU0002 = new SwiftTagDefinition("Place_B1_94B", "Place of Listing");
      MT566.U001EU0002.TagName = ":94B::";
      MT566.U001EU0002.Mandatory = false;
      MT566.U001FU0002 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U001EU0002.Elements.Add((SwiftDefinitionElement) MT566.U001FU0002);
      MT566.U007FU0002 = new SwiftTagSubItemDefinition("DataSource", "Data Source Scheme");
      MT566.U001EU0002.Elements.Add((SwiftDefinitionElement) MT566.U007FU0002);
      MT566.U0080U0002 = new SwiftTagSubItemDefinition("PlaceCode", "Place Code");
      MT566.U001EU0002.Elements.Add((SwiftDefinitionElement) MT566.U0080U0002);
      MT566.U0081U0002 = new SwiftTagSubItemDefinition("Narrative", "Narrative");
      MT566.U0081U0002.Mandatory = false;
      MT566.U0082U0002 = new SwiftTagSubItemDefinition("Narrative_94B", "Narrative");
      MT566.U0081U0002.Elements.Add((SwiftDefinitionElement) MT566.U0082U0002);
      MT566.U001EU0002.Elements.Add((SwiftDefinitionElement) MT566.U0081U0002);
      MT566.U001BU0002.Elements.Add((SwiftDefinitionElement) MT566.U001EU0002);
      MT566.U0083U0002 = new SwiftTagDefinition("Indicator_B1_22F", "Corporate Action Event Indicator");
      MT566.U0083U0002.TagName = ":22F::";
      MT566.U0083U0002.Mandatory = false;
      MT566.U0084U0002 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0083U0002.Elements.Add((SwiftDefinitionElement) MT566.U0084U0002);
      MT566.U0086U0002 = new SwiftTagSubItemDefinition("DataSource", "Data Source");
      MT566.U0083U0002.Elements.Add((SwiftDefinitionElement) MT566.U0086U0002);
      MT566.U0087U0002 = new SwiftTagSubItemDefinition("Indicator", "Indicator");
      MT566.U0083U0002.Elements.Add((SwiftDefinitionElement) MT566.U0087U0002);
      MT566.U001BU0002.Elements.Add((SwiftDefinitionElement) MT566.U0083U0002);
      MT566.U0088U0002 = new SwiftTagChoiceDefinition("Choice", "");
      MT566.U0088U0002.Mandatory = false;
      MT566.U0088U0002.Multiple = true;
      MT566.U0089U0002 = new SwiftTagDefinition("TypeOfFinancialInstrument_B1_12A", "Classification Type");
      MT566.U0089U0002.TagName = ":12A::";
      MT566.U008AU0002 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0089U0002.Elements.Add((SwiftDefinitionElement) MT566.U008AU0002);
      MT566.U008BU0002 = new SwiftTagSubItemDefinition("DataSource", "Data Source");
      MT566.U0089U0002.Elements.Add((SwiftDefinitionElement) MT566.U008BU0002);
      MT566.U008CU0002 = new SwiftTagSubItemDefinition("InstrumentCode", "Instrument Code or Description");
      MT566.U0089U0002.Elements.Add((SwiftDefinitionElement) MT566.U008CU0002);
      MT566.U0088U0002.Elements.Add((SwiftDefinitionElement) MT566.U0089U0002);
      MT566.U008DU0002 = new SwiftTagDefinition("TypeOfFinancialInstrument_B1_12C", "Classification Type");
      MT566.U008DU0002.TagName = ":12C::";
      MT566.U008EU0002 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U008DU0002.Elements.Add((SwiftDefinitionElement) MT566.U008EU0002);
      MT566.U008FU0002 = new SwiftTagSubItemDefinition("CFICode", "CFI Code");
      MT566.U008DU0002.Elements.Add((SwiftDefinitionElement) MT566.U008FU0002);
      MT566.U0088U0002.Elements.Add((SwiftDefinitionElement) MT566.U008DU0002);
      MT566.U001BU0002.Elements.Add((SwiftDefinitionElement) MT566.U0088U0002);
      MT566.U0090U0002 = new SwiftTagDefinition("Currency_B1_11A", "Currency of Denomination");
      MT566.U0090U0002.TagName = ":11A::";
      MT566.U0090U0002.Mandatory = false;
      MT566.U0091U0002 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0090U0002.Elements.Add((SwiftDefinitionElement) MT566.U0091U0002);
      MT566.U0092U0002 = new SwiftTagSubItemDefinition("CurrencyCode", "Currency Code");
      MT566.U0090U0002.Elements.Add((SwiftDefinitionElement) MT566.U0092U0002);
      MT566.U001BU0002.Elements.Add((SwiftDefinitionElement) MT566.U0090U0002);
      MT566.U0093U0002 = new SwiftTagDefinition("Date_B1_98A", "Date/Time");
      MT566.U0093U0002.TagName = ":98A::";
      MT566.U0093U0002.Mandatory = false;
      MT566.U0093U0002.Multiple = true;
      MT566.U0094U0002 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0093U0002.Elements.Add((SwiftDefinitionElement) MT566.U0094U0002);
      MT566.U0095U0002 = new SwiftTagSubItemDefinition("Date", "Date");
      MT566.U0093U0002.Elements.Add((SwiftDefinitionElement) MT566.U0095U0002);
      MT566.U001BU0002.Elements.Add((SwiftDefinitionElement) MT566.U0093U0002);
      MT566.U0096U0002 = new SwiftTagDefinition("Rate_B1_92A", "Rate");
      MT566.U0096U0002.TagName = ":92A::";
      MT566.U0096U0002.Mandatory = false;
      MT566.U0096U0002.Multiple = true;
      MT566.U0097U0002 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0096U0002.Elements.Add((SwiftDefinitionElement) MT566.U0097U0002);
      MT566.U0098U0002 = new SwiftTagSubItemDefinition("SignRate", "Sign Rate");
      MT566.U0096U0002.Elements.Add((SwiftDefinitionElement) MT566.U0098U0002);
      MT566.U001BU0002.Elements.Add((SwiftDefinitionElement) MT566.U0096U0002);
      MT566.U0099U0002 = new SwiftTagDefinition("QuantityOfFinancialInstrument_B1_36B", "Quantity of Financial Instrument");
      MT566.U0099U0002.TagName = ":36B::";
      MT566.U0099U0002.Mandatory = false;
      MT566.U0099U0002.Multiple = true;
      MT566.U009AU0002 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0099U0002.Elements.Add((SwiftDefinitionElement) MT566.U009AU0002);
      MT566.U009BU0002 = new SwiftTagSubItemDefinition("QuantityOfFinancialInstrument", "Quantity of Financial Instrument");
      MT566.U009CU0002 = new SwiftTagSubItemDefinition("QuantityTypeCode", "Quantity Type Code");
      MT566.U009BU0002.Elements.Add((SwiftDefinitionElement) MT566.U009CU0002);
      MT566.U009DU0002 = new SwiftTagSubItemDefinition("Quantity", "Quantity");
      MT566.U009BU0002.Elements.Add((SwiftDefinitionElement) MT566.U009DU0002);
      MT566.U0099U0002.Elements.Add((SwiftDefinitionElement) MT566.U009BU0002);
      MT566.U001BU0002.Elements.Add((SwiftDefinitionElement) MT566.U0099U0002);
      MT566.U009EU0002 = new SwiftTagDefinition("EndOfBlock_B1_16S", "End Of Block");
      MT566.U009EU0002.TagName = ":16S:FIA";
      MT566.U009FU0002 = new SwiftTagSubItemDefinition("EndOfBlock", "End Of Block");
      MT566.U009FU0002.Mandatory = false;
      MT566.U009EU0002.Elements.Add((SwiftDefinitionElement) MT566.U009FU0002);
      MT566.U001BU0002.Elements.Add((SwiftDefinitionElement) MT566.U009EU0002);
      MT566.U0094.Elements.Add((SwiftDefinitionElement) MT566.U001BU0002);
      MT566.U0001U0003 = new SwiftTagChoiceDefinition("Choice", "");
      MT566.U0001U0003.Multiple = true;
      MT566.U0002U0003 = new SwiftTagDefinition("Balance_B_93B", "Balance");
      MT566.U0002U0003.TagName = ":93B::";
      MT566.U0002U0003.Multiple = true;
      MT566.U0003U0003 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0002U0003.Elements.Add((SwiftDefinitionElement) MT566.U0003U0003);
      MT566.U0004U0003 = new SwiftTagSubItemDefinition("DataSource", "Data Source");
      MT566.U0002U0003.Elements.Add((SwiftDefinitionElement) MT566.U0004U0003);
      MT566.U0005U0003 = new SwiftTagSubItemDefinition("QuantityTypeCode", "Quantity Type Code");
      MT566.U0002U0003.Elements.Add((SwiftDefinitionElement) MT566.U0005U0003);
      MT566.U0006U0003 = new SwiftTagSubItemDefinition("SignBalance", "Sign Balance");
      MT566.U0002U0003.Elements.Add((SwiftDefinitionElement) MT566.U0006U0003);
      MT566.U0001U0003.Elements.Add((SwiftDefinitionElement) MT566.U0002U0003);
      MT566.U0007U0003 = new SwiftTagDefinition("Balance_B_93C", "Balance");
      MT566.U0007U0003.TagName = ":93C::";
      MT566.U0007U0003.Multiple = true;
      MT566.U0008U0003 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0007U0003.Elements.Add((SwiftDefinitionElement) MT566.U0008U0003);
      MT566.U000EU0003 = new SwiftTagSubItemDefinition("Balance", "Balance");
      MT566.U000FU0003 = new SwiftTagSubItemDefinition("QuantityTypeCode", "Quantity Type Code");
      MT566.U000EU0003.Elements.Add((SwiftDefinitionElement) MT566.U000FU0003);
      MT566.U0010U0003 = new SwiftTagSubItemDefinition("BalanceTypeCode", "Balance Type Code");
      MT566.U000EU0003.Elements.Add((SwiftDefinitionElement) MT566.U0010U0003);
      MT566.U0011U0003 = new SwiftTagSubItemDefinition("SignBalance", "Sign Balance");
      MT566.U000EU0003.Elements.Add((SwiftDefinitionElement) MT566.U0011U0003);
      MT566.U0007U0003.Elements.Add((SwiftDefinitionElement) MT566.U000EU0003);
      MT566.U0001U0003.Elements.Add((SwiftDefinitionElement) MT566.U0007U0003);
      MT566.U0094.Elements.Add((SwiftDefinitionElement) MT566.U0001U0003);
      MT566.U0012U0003 = new SwiftTagDefinition("EndOfBlock_B_16S", "End Of Block");
      MT566.U0012U0003.TagName = ":16S:USECU";
      MT566.U0013U0003 = new SwiftTagSubItemDefinition("EndOfBlock", "End Of Block");
      MT566.U0013U0003.Mandatory = false;
      MT566.U0012U0003.Elements.Add((SwiftDefinitionElement) MT566.U0013U0003);
      MT566.U0094.Elements.Add((SwiftDefinitionElement) MT566.U0012U0003);
      MT566.MessageDefinition.Elements.Add((SwiftDefinitionElement) MT566.U0094);
      MT566.U0014U0003 = new SwiftTagSequenceDefinition("SequenceC", "Corporate Action Details");
      MT566.U0014U0003.Mandatory = false;
      MT566.U0015U0003 = new SwiftTagDefinition("StartOfBlock_C_16R", "Start Of Block");
      MT566.U0015U0003.TagName = ":16R:CADETL";
      MT566.U0016U0003 = new SwiftTagSubItemDefinition("StartOfBlock", "Start Of Block");
      MT566.U0016U0003.Mandatory = false;
      MT566.U0015U0003.Elements.Add((SwiftDefinitionElement) MT566.U0016U0003);
      MT566.U0014U0003.Elements.Add((SwiftDefinitionElement) MT566.U0015U0003);
      MT566.U0017U0003 = new SwiftTagChoiceDefinition("Choice", "");
      MT566.U0017U0003.Mandatory = false;
      MT566.U0017U0003.Multiple = true;
      MT566.U0018U0003 = new SwiftTagDefinition("Date_C_98A", "Date");
      MT566.U0018U0003.TagName = ":98A::";
      MT566.U0018U0003.Multiple = true;
      MT566.U0019U0003 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0018U0003.Elements.Add((SwiftDefinitionElement) MT566.U0019U0003);
      MT566.U001AU0003 = new SwiftTagSubItemDefinition("Date", "Date");
      MT566.U0018U0003.Elements.Add((SwiftDefinitionElement) MT566.U001AU0003);
      MT566.U0017U0003.Elements.Add((SwiftDefinitionElement) MT566.U0018U0003);
      MT566.U001BU0003 = new SwiftTagDefinition("DateCode_C_98B", "Date Code");
      MT566.U001BU0003.TagName = ":98B::";
      MT566.U001BU0003.Multiple = true;
      MT566.U001CU0003 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U001BU0003.Elements.Add((SwiftDefinitionElement) MT566.U001CU0003);
      MT566.U001DU0003 = new SwiftTagSubItemDefinition("DataSource", "Data Source");
      MT566.U001BU0003.Elements.Add((SwiftDefinitionElement) MT566.U001DU0003);
      MT566.U001EU0003 = new SwiftTagSubItemDefinition("DateCode", "Date code");
      MT566.U001BU0003.Elements.Add((SwiftDefinitionElement) MT566.U001EU0003);
      MT566.U0017U0003.Elements.Add((SwiftDefinitionElement) MT566.U001BU0003);
      MT566.U001FU0003 = new SwiftTagDefinition("DateTime_C_98C", "Date/Time");
      MT566.U001FU0003.TagName = ":98C::";
      MT566.U001FU0003.Multiple = true;
      MT566.U007FU0003 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U001FU0003.Elements.Add((SwiftDefinitionElement) MT566.U007FU0003);
      MT566.U0080U0003 = new SwiftTagSubItemDefinition("DateTime", "Date/Time");
      MT566.U0081U0003 = new SwiftTagSubItemDefinition("Date", "Date");
      MT566.U0080U0003.Elements.Add((SwiftDefinitionElement) MT566.U0081U0003);
      MT566.U0082U0003 = new SwiftTagSubItemDefinition("Time", "Time");
      MT566.U0080U0003.Elements.Add((SwiftDefinitionElement) MT566.U0082U0003);
      MT566.U001FU0003.Elements.Add((SwiftDefinitionElement) MT566.U0080U0003);
      MT566.U0017U0003.Elements.Add((SwiftDefinitionElement) MT566.U001FU0003);
      MT566.U0083U0003 = new SwiftTagDefinition("DateTime_C_98E", "Preparation Date/Time");
      MT566.U0083U0003.TagName = ":98E::";
      MT566.U0083U0003.Multiple = true;
      MT566.U0084U0003 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0083U0003.Elements.Add((SwiftDefinitionElement) MT566.U0084U0003);
      MT566.U0086U0003 = new SwiftTagSubItemDefinition("DateTimeDecimalsAndUTCIndicator", "Preparation Date/Time");
      MT566.U0087U0003 = new SwiftTagSubItemDefinition("DateTimeDecimals", "Preparation Date/Time");
      MT566.U0088U0003 = new SwiftTagSubItemDefinition("DateTime", "Date\\Time");
      MT566.U0089U0003 = new SwiftTagSubItemDefinition("Date", "Date");
      MT566.U0088U0003.Elements.Add((SwiftDefinitionElement) MT566.U0089U0003);
      MT566.U008AU0003 = new SwiftTagSubItemDefinition("Time", "Time");
      MT566.U0088U0003.Elements.Add((SwiftDefinitionElement) MT566.U008AU0003);
      MT566.U0087U0003.Elements.Add((SwiftDefinitionElement) MT566.U0088U0003);
      MT566.U008BU0003 = new SwiftTagSubItemDefinition("Decimals", "Time");
      MT566.U008BU0003.Mandatory = false;
      MT566.U0087U0003.Elements.Add((SwiftDefinitionElement) MT566.U008BU0003);
      MT566.U0086U0003.Elements.Add((SwiftDefinitionElement) MT566.U0087U0003);
      MT566.U008CU0003 = new SwiftTagSubItemDefinition("UTCIndicatorRecord", "Date\\Time");
      MT566.U008CU0003.Mandatory = false;
      MT566.U008DU0003 = new SwiftTagSubItemDefinition("UTCIndicator", "Indicator");
      MT566.U008CU0003.Elements.Add((SwiftDefinitionElement) MT566.U008DU0003);
      MT566.U0086U0003.Elements.Add((SwiftDefinitionElement) MT566.U008CU0003);
      MT566.U0083U0003.Elements.Add((SwiftDefinitionElement) MT566.U0086U0003);
      MT566.U0017U0003.Elements.Add((SwiftDefinitionElement) MT566.U0083U0003);
      MT566.U0014U0003.Elements.Add((SwiftDefinitionElement) MT566.U0017U0003);
      MT566.U008EU0003 = new SwiftTagChoiceDefinition("Choice", "");
      MT566.U008EU0003.Mandatory = false;
      MT566.U008EU0003.Multiple = true;
      MT566.U008FU0003 = new SwiftTagDefinition("Period_C_69A", "Period");
      MT566.U008FU0003.TagName = ":69A::";
      MT566.U008FU0003.Multiple = true;
      MT566.U0090U0003 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U008FU0003.Elements.Add((SwiftDefinitionElement) MT566.U0090U0003);
      MT566.U0091U0003 = new SwiftTagSubItemDefinition("Period", "Period");
      MT566.U0092U0003 = new SwiftTagSubItemDefinition("Date1", "Date");
      MT566.U0091U0003.Elements.Add((SwiftDefinitionElement) MT566.U0092U0003);
      MT566.U0093U0003 = new SwiftTagSubItemDefinition("Date2", "Date");
      MT566.U0091U0003.Elements.Add((SwiftDefinitionElement) MT566.U0093U0003);
      MT566.U008FU0003.Elements.Add((SwiftDefinitionElement) MT566.U0091U0003);
      MT566.U008EU0003.Elements.Add((SwiftDefinitionElement) MT566.U008FU0003);
      MT566.U0094U0003 = new SwiftTagDefinition("Period_C_69B", "Period");
      MT566.U0094U0003.TagName = ":69B::";
      MT566.U0094U0003.Multiple = true;
      MT566.U0095U0003 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0094U0003.Elements.Add((SwiftDefinitionElement) MT566.U0095U0003);
      MT566.U0096U0003 = new SwiftTagSubItemDefinition("Period", "Period");
      MT566.U0097U0003 = new SwiftTagSubItemDefinition("DateTime1", "Date/Time");
      MT566.U0098U0003 = new SwiftTagSubItemDefinition("Date", "Date");
      MT566.U0097U0003.Elements.Add((SwiftDefinitionElement) MT566.U0098U0003);
      MT566.U0099U0003 = new SwiftTagSubItemDefinition("Time", "Time");
      MT566.U0097U0003.Elements.Add((SwiftDefinitionElement) MT566.U0099U0003);
      MT566.U0096U0003.Elements.Add((SwiftDefinitionElement) MT566.U0097U0003);
      MT566.U009AU0003 = new SwiftTagSubItemDefinition("DateTime2", "Date/Time");
      MT566.U009BU0003 = new SwiftTagSubItemDefinition("Date", "Date");
      MT566.U009AU0003.Elements.Add((SwiftDefinitionElement) MT566.U009BU0003);
      MT566.U009CU0003 = new SwiftTagSubItemDefinition("Time", "Time");
      MT566.U009AU0003.Elements.Add((SwiftDefinitionElement) MT566.U009CU0003);
      MT566.U0096U0003.Elements.Add((SwiftDefinitionElement) MT566.U009AU0003);
      MT566.U0094U0003.Elements.Add((SwiftDefinitionElement) MT566.U0096U0003);
      MT566.U008EU0003.Elements.Add((SwiftDefinitionElement) MT566.U0094U0003);
      MT566.U009DU0003 = new SwiftTagDefinition("Period_C_69C", "Period");
      MT566.U009DU0003.TagName = ":69C::";
      MT566.U009DU0003.Multiple = true;
      MT566.U009EU0003 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U009DU0003.Elements.Add((SwiftDefinitionElement) MT566.U009EU0003);
      MT566.U009FU0003 = new SwiftTagSubItemDefinition("Period", "Period");
      MT566.U0001U0004 = new SwiftTagSubItemDefinition("Date", "Date");
      MT566.U009FU0003.Elements.Add((SwiftDefinitionElement) MT566.U0001U0004);
      MT566.U0002U0004 = new SwiftTagSubItemDefinition("DateCode", "Date Code");
      MT566.U009FU0003.Elements.Add((SwiftDefinitionElement) MT566.U0002U0004);
      MT566.U009DU0003.Elements.Add((SwiftDefinitionElement) MT566.U009FU0003);
      MT566.U008EU0003.Elements.Add((SwiftDefinitionElement) MT566.U009DU0003);
      MT566.U0003U0004 = new SwiftTagDefinition("Period_C_69D", "Period");
      MT566.U0003U0004.TagName = ":69D::";
      MT566.U0003U0004.Multiple = true;
      MT566.U0004U0004 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0003U0004.Elements.Add((SwiftDefinitionElement) MT566.U0004U0004);
      MT566.U0005U0004 = new SwiftTagSubItemDefinition("Period", "Period");
      MT566.U0006U0004 = new SwiftTagSubItemDefinition("DateTime", "Date/Time");
      MT566.U0007U0004 = new SwiftTagSubItemDefinition("Date", "Date");
      MT566.U0006U0004.Elements.Add((SwiftDefinitionElement) MT566.U0007U0004);
      MT566.U0008U0004 = new SwiftTagSubItemDefinition("Time", "Time");
      MT566.U0006U0004.Elements.Add((SwiftDefinitionElement) MT566.U0008U0004);
      MT566.U0005U0004.Elements.Add((SwiftDefinitionElement) MT566.U0006U0004);
      MT566.U000EU0004 = new SwiftTagSubItemDefinition("DateCode", "Date Code");
      MT566.U0005U0004.Elements.Add((SwiftDefinitionElement) MT566.U000EU0004);
      MT566.U0003U0004.Elements.Add((SwiftDefinitionElement) MT566.U0005U0004);
      MT566.U008EU0003.Elements.Add((SwiftDefinitionElement) MT566.U0003U0004);
      MT566.U000FU0004 = new SwiftTagDefinition("Period_C_69E", "Period");
      MT566.U000FU0004.TagName = ":69E::";
      MT566.U000FU0004.Multiple = true;
      MT566.U0010U0004 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U000FU0004.Elements.Add((SwiftDefinitionElement) MT566.U0010U0004);
      MT566.U0011U0004 = new SwiftTagSubItemDefinition("Period", "Period");
      MT566.U0012U0004 = new SwiftTagSubItemDefinition("DateCode", "Date Code");
      MT566.U0011U0004.Elements.Add((SwiftDefinitionElement) MT566.U0012U0004);
      MT566.U0013U0004 = new SwiftTagSubItemDefinition("Date", "Date");
      MT566.U0011U0004.Elements.Add((SwiftDefinitionElement) MT566.U0013U0004);
      MT566.U000FU0004.Elements.Add((SwiftDefinitionElement) MT566.U0011U0004);
      MT566.U008EU0003.Elements.Add((SwiftDefinitionElement) MT566.U000FU0004);
      MT566.U0014U0004 = new SwiftTagDefinition("Period_C_69F", "Period");
      MT566.U0014U0004.TagName = ":69F::";
      MT566.U0014U0004.Multiple = true;
      MT566.U0015U0004 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0014U0004.Elements.Add((SwiftDefinitionElement) MT566.U0015U0004);
      MT566.U0016U0004 = new SwiftTagSubItemDefinition("Period", "Period");
      MT566.U0017U0004 = new SwiftTagSubItemDefinition("DateCode", "Date Code");
      MT566.U0016U0004.Elements.Add((SwiftDefinitionElement) MT566.U0017U0004);
      MT566.U0018U0004 = new SwiftTagSubItemDefinition("DateTime", "Date/Time");
      MT566.U0019U0004 = new SwiftTagSubItemDefinition("Date", "Date");
      MT566.U0018U0004.Elements.Add((SwiftDefinitionElement) MT566.U0019U0004);
      MT566.U001AU0004 = new SwiftTagSubItemDefinition("Time", "Time");
      MT566.U0018U0004.Elements.Add((SwiftDefinitionElement) MT566.U001AU0004);
      MT566.U0016U0004.Elements.Add((SwiftDefinitionElement) MT566.U0018U0004);
      MT566.U0014U0004.Elements.Add((SwiftDefinitionElement) MT566.U0016U0004);
      MT566.U008EU0003.Elements.Add((SwiftDefinitionElement) MT566.U0014U0004);
      MT566.U0014U0003.Elements.Add((SwiftDefinitionElement) MT566.U008EU0003);
      MT566.U001BU0004 = new SwiftTagDefinition("NumberCount_D_99A", "Number Count");
      MT566.U001BU0004.TagName = ":99A::";
      MT566.U001BU0004.Mandatory = false;
      MT566.U001CU0004 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U001BU0004.Elements.Add((SwiftDefinitionElement) MT566.U001CU0004);
      MT566.U001DU0004 = new SwiftTagSubItemDefinition("SignNumber", "Sign Number");
      MT566.U001BU0004.Elements.Add((SwiftDefinitionElement) MT566.U001DU0004);
      MT566.U0014U0003.Elements.Add((SwiftDefinitionElement) MT566.U001BU0004);
      MT566.U001EU0004 = new SwiftTagChoiceDefinition("Choice", "");
      MT566.U001EU0004.Mandatory = false;
      MT566.U001EU0004.Multiple = true;
      MT566.U001FU0004 = new SwiftTagDefinition("Rate_C_92A", "Rate");
      MT566.U001FU0004.TagName = ":92A::";
      MT566.U001FU0004.Multiple = true;
      MT566.U007FU0004 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U001FU0004.Elements.Add((SwiftDefinitionElement) MT566.U007FU0004);
      MT566.U0080U0004 = new SwiftTagSubItemDefinition("SignRate", "Sign Rate");
      MT566.U001FU0004.Elements.Add((SwiftDefinitionElement) MT566.U0080U0004);
      MT566.U001EU0004.Elements.Add((SwiftDefinitionElement) MT566.U001FU0004);
      MT566.U0081U0004 = new SwiftTagDefinition("Rate_C_92F", "Rate");
      MT566.U0081U0004.TagName = ":92F::";
      MT566.U0081U0004.Multiple = true;
      MT566.U0082U0004 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0081U0004.Elements.Add((SwiftDefinitionElement) MT566.U0082U0004);
      MT566.U0083U0004 = new SwiftTagSubItemDefinition("Rate", "Rate");
      MT566.U0084U0004 = new SwiftTagSubItemDefinition("CurrencyCode", "Currency Code");
      MT566.U0083U0004.Elements.Add((SwiftDefinitionElement) MT566.U0084U0004);
      MT566.U0086U0004 = new SwiftTagSubItemDefinition("Amount", "Amount");
      MT566.U0083U0004.Elements.Add((SwiftDefinitionElement) MT566.U0086U0004);
      MT566.U0081U0004.Elements.Add((SwiftDefinitionElement) MT566.U0083U0004);
      MT566.U001EU0004.Elements.Add((SwiftDefinitionElement) MT566.U0081U0004);
      MT566.U0087U0004 = new SwiftTagDefinition("Rate_C_92K", "Rate");
      MT566.U0087U0004.TagName = ":92K::";
      MT566.U0087U0004.Multiple = true;
      MT566.U0088U0004 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0087U0004.Elements.Add((SwiftDefinitionElement) MT566.U0088U0004);
      MT566.U0089U0004 = new SwiftTagSubItemDefinition("RateTypeCode", "Rate Type Code");
      MT566.U008AU0004 = new SwiftTagSubItemDefinition("RateTypeCode_1", "Rate Type Code");
      MT566.U0089U0004.Elements.Add((SwiftDefinitionElement) MT566.U008AU0004);
      MT566.U0087U0004.Elements.Add((SwiftDefinitionElement) MT566.U0089U0004);
      MT566.U001EU0004.Elements.Add((SwiftDefinitionElement) MT566.U0087U0004);
      MT566.U0014U0003.Elements.Add((SwiftDefinitionElement) MT566.U001EU0004);
      MT566.U008BU0004 = new SwiftTagChoiceDefinition("Choice", "");
      MT566.U008BU0004.Mandatory = false;
      MT566.U008BU0004.Multiple = true;
      MT566.U008CU0004 = new SwiftTagDefinition("Price_C_90A", "Price");
      MT566.U008CU0004.TagName = ":90A::";
      MT566.U008CU0004.Multiple = true;
      MT566.U008DU0004 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U008CU0004.Elements.Add((SwiftDefinitionElement) MT566.U008DU0004);
      MT566.U008EU0004 = new SwiftTagSubItemDefinition("Price", "Price");
      MT566.U008FU0004 = new SwiftTagSubItemDefinition("PercentageTypeCode", "Percentage Type Code");
      MT566.U008EU0004.Elements.Add((SwiftDefinitionElement) MT566.U008FU0004);
      MT566.U0090U0004 = new SwiftTagSubItemDefinition("Price_1", "Price");
      MT566.U008EU0004.Elements.Add((SwiftDefinitionElement) MT566.U0090U0004);
      MT566.U008CU0004.Elements.Add((SwiftDefinitionElement) MT566.U008EU0004);
      MT566.U008BU0004.Elements.Add((SwiftDefinitionElement) MT566.U008CU0004);
      MT566.U0091U0004 = new SwiftTagDefinition("Price_C_90B", "Price");
      MT566.U0091U0004.TagName = ":90B::";
      MT566.U0091U0004.Multiple = true;
      MT566.U0092U0004 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0091U0004.Elements.Add((SwiftDefinitionElement) MT566.U0092U0004);
      MT566.U0093U0004 = new SwiftTagSubItemDefinition("Price", "Price");
      MT566.U0094U0004 = new SwiftTagSubItemDefinition("AmountTypeCode", "Amount Type Code");
      MT566.U0093U0004.Elements.Add((SwiftDefinitionElement) MT566.U0094U0004);
      MT566.U0095U0004 = new SwiftTagSubItemDefinition("CurrencyCodeAndPrice", "Currency Code, Price");
      MT566.U0096U0004 = new SwiftTagSubItemDefinition("CurrencyCode", "Currency Code");
      MT566.U0095U0004.Elements.Add((SwiftDefinitionElement) MT566.U0096U0004);
      MT566.U0097U0004 = new SwiftTagSubItemDefinition("Price", "Price");
      MT566.U0095U0004.Elements.Add((SwiftDefinitionElement) MT566.U0097U0004);
      MT566.U0093U0004.Elements.Add((SwiftDefinitionElement) MT566.U0095U0004);
      MT566.U0091U0004.Elements.Add((SwiftDefinitionElement) MT566.U0093U0004);
      MT566.U008BU0004.Elements.Add((SwiftDefinitionElement) MT566.U0091U0004);
      MT566.U0014U0003.Elements.Add((SwiftDefinitionElement) MT566.U008BU0004);
      MT566.U0098U0004 = new SwiftTagChoiceDefinition("Choice", "");
      MT566.U0098U0004.Mandatory = false;
      MT566.U0098U0004.Multiple = true;
      MT566.U0099U0004 = new SwiftTagDefinition("QuantityOfFinancialInstrument_C_36B", "Quantity of Financial Instrument");
      MT566.U0099U0004.TagName = ":36B::";
      MT566.U0099U0004.Multiple = true;
      MT566.U009AU0004 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0099U0004.Elements.Add((SwiftDefinitionElement) MT566.U009AU0004);
      MT566.U009BU0004 = new SwiftTagSubItemDefinition("QuantityOfFinancialInstrument", "Quantity Of Financial Instrument");
      MT566.U009CU0004 = new SwiftTagSubItemDefinition("QuantityTypeCode", "Quantity Type Code");
      MT566.U009BU0004.Elements.Add((SwiftDefinitionElement) MT566.U009CU0004);
      MT566.U009DU0004 = new SwiftTagSubItemDefinition("Quantity", "Quantity");
      MT566.U009BU0004.Elements.Add((SwiftDefinitionElement) MT566.U009DU0004);
      MT566.U0099U0004.Elements.Add((SwiftDefinitionElement) MT566.U009BU0004);
      MT566.U0098U0004.Elements.Add((SwiftDefinitionElement) MT566.U0099U0004);
      MT566.U009EU0004 = new SwiftTagDefinition("QuantityOfFinancialInstrument_C_36C", "Quantity of Financial Instrument");
      MT566.U009EU0004.TagName = ":36C::";
      MT566.U009EU0004.Multiple = true;
      MT566.U009FU0004 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U009EU0004.Elements.Add((SwiftDefinitionElement) MT566.U009FU0004);
      MT566.U0001U0005 = new SwiftTagSubItemDefinition("QuantityCode", "Quantity Code");
      MT566.U009EU0004.Elements.Add((SwiftDefinitionElement) MT566.U0001U0005);
      MT566.U0098U0004.Elements.Add((SwiftDefinitionElement) MT566.U009EU0004);
      MT566.U0014U0003.Elements.Add((SwiftDefinitionElement) MT566.U0098U0004);
      MT566.U0002U0005 = new SwiftTagChoiceDefinition("Choice", "");
      MT566.U0002U0005.Mandatory = false;
      MT566.U0002U0005.Multiple = true;
      MT566.U0003U0005 = new SwiftTagDefinition("NumberIdentification_C_13A", "Linked Message");
      MT566.U0003U0005.TagName = ":13A::";
      MT566.U0003U0005.Mandatory = false;
      MT566.U0003U0005.Multiple = true;
      MT566.U0004U0005 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0003U0005.Elements.Add((SwiftDefinitionElement) MT566.U0004U0005);
      MT566.U0005U0005 = new SwiftTagSubItemDefinition("NumberId", "Number Id");
      MT566.U0003U0005.Elements.Add((SwiftDefinitionElement) MT566.U0005U0005);
      MT566.U0002U0005.Elements.Add((SwiftDefinitionElement) MT566.U0003U0005);
      MT566.U0006U0005 = new SwiftTagDefinition("NumberIdentification_C_13B", "Linked Message");
      MT566.U0006U0005.TagName = ":13B::";
      MT566.U0006U0005.Mandatory = false;
      MT566.U0006U0005.Multiple = true;
      MT566.U0007U0005 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0006U0005.Elements.Add((SwiftDefinitionElement) MT566.U0007U0005);
      MT566.U0008U0005 = new SwiftTagSubItemDefinition("DataSource", "Data Source Scheme");
      MT566.U0006U0005.Elements.Add((SwiftDefinitionElement) MT566.U0008U0005);
      MT566.U000EU0005 = new SwiftTagSubItemDefinition("Number_13B", "Number");
      MT566.U0006U0005.Elements.Add((SwiftDefinitionElement) MT566.U000EU0005);
      MT566.U0002U0005.Elements.Add((SwiftDefinitionElement) MT566.U0006U0005);
      MT566.U0014U0003.Elements.Add((SwiftDefinitionElement) MT566.U0002U0005);
      MT566.U000FU0005 = new SwiftTagDefinition("Flag_C_17B", "Flag");
      MT566.U000FU0005.TagName = ":17B::";
      MT566.U000FU0005.Mandatory = false;
      MT566.U000FU0005.Multiple = true;
      MT566.U0010U0005 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U000FU0005.Elements.Add((SwiftDefinitionElement) MT566.U0010U0005);
      MT566.U0011U0005 = new SwiftTagSubItemDefinition("Flag", "Flag");
      MT566.U000FU0005.Elements.Add((SwiftDefinitionElement) MT566.U0011U0005);
      MT566.U0014U0003.Elements.Add((SwiftDefinitionElement) MT566.U000FU0005);
      MT566.U0012U0005 = new SwiftTagDefinition("Indicator_C_22F", "Indicator");
      MT566.U0012U0005.TagName = ":22F::";
      MT566.U0012U0005.Mandatory = false;
      MT566.U0012U0005.Multiple = true;
      MT566.U0013U0005 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0012U0005.Elements.Add((SwiftDefinitionElement) MT566.U0013U0005);
      MT566.U0014U0005 = new SwiftTagSubItemDefinition("DataSource", "Data Source");
      MT566.U0012U0005.Elements.Add((SwiftDefinitionElement) MT566.U0014U0005);
      MT566.U0015U0005 = new SwiftTagSubItemDefinition("Indicator", "Indicator");
      MT566.U0012U0005.Elements.Add((SwiftDefinitionElement) MT566.U0015U0005);
      MT566.U0014U0003.Elements.Add((SwiftDefinitionElement) MT566.U0012U0005);
      MT566.U0016U0005 = new SwiftTagDefinition("Narrative_C_70E", "Narrative");
      MT566.U0016U0005.TagName = ":70E::";
      MT566.U0016U0005.Mandatory = false;
      MT566.U0016U0005.Multiple = true;
      MT566.U0017U0005 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0016U0005.Elements.Add((SwiftDefinitionElement) MT566.U0017U0005);
      MT566.U0018U0005 = new SwiftTagSubItemDefinition("Narrative", "Narrative");
      MT566.U0016U0005.Elements.Add((SwiftDefinitionElement) MT566.U0018U0005);
      MT566.U0014U0003.Elements.Add((SwiftDefinitionElement) MT566.U0016U0005);
      MT566.U0019U0005 = new SwiftTagDefinition("EndOfBlock_C_16S", "End Of Block");
      MT566.U0019U0005.TagName = ":16S:CADETL";
      MT566.U001AU0005 = new SwiftTagSubItemDefinition("EndOfBlock", "End Of Block");
      MT566.U001AU0005.Mandatory = false;
      MT566.U0019U0005.Elements.Add((SwiftDefinitionElement) MT566.U001AU0005);
      MT566.U0014U0003.Elements.Add((SwiftDefinitionElement) MT566.U0019U0005);
      MT566.MessageDefinition.Elements.Add((SwiftDefinitionElement) MT566.U0014U0003);
      MT566.U001BU0005 = new SwiftTagSequenceDefinition("SequenceD", "Corporate Action Confirmation");
      MT566.U001CU0005 = new SwiftTagDefinition("StartOfBlock_D_16R", "Start Of Block");
      MT566.U001CU0005.TagName = ":16R:CACONF";
      MT566.U001DU0005 = new SwiftTagSubItemDefinition("StartOfBlock", "Start Of Block");
      MT566.U001DU0005.Mandatory = false;
      MT566.U001CU0005.Elements.Add((SwiftDefinitionElement) MT566.U001DU0005);
      MT566.U001BU0005.Elements.Add((SwiftDefinitionElement) MT566.U001CU0005);
      MT566.U001EU0005 = new SwiftTagDefinition("NumberIdentification_D_13A", "CA Option Number");
      MT566.U001EU0005.TagName = ":13A::";
      MT566.U001FU0005 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U001EU0005.Elements.Add((SwiftDefinitionElement) MT566.U001FU0005);
      MT566.U007FU0005 = new SwiftTagSubItemDefinition("NumberId", "Number Id");
      MT566.U001EU0005.Elements.Add((SwiftDefinitionElement) MT566.U007FU0005);
      MT566.U001BU0005.Elements.Add((SwiftDefinitionElement) MT566.U001EU0005);
      MT566.U0080U0005 = new SwiftTagChoiceDefinition("Choice", "");
      MT566.U0080U0005.Multiple = true;
      MT566.U0081U0005 = new SwiftTagDefinition("Indicator_D_22F", "Corporate Action Option Code");
      MT566.U0081U0005.TagName = ":22F::";
      MT566.U0081U0005.Multiple = true;
      MT566.U0082U0005 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0081U0005.Elements.Add((SwiftDefinitionElement) MT566.U0082U0005);
      MT566.U0083U0005 = new SwiftTagSubItemDefinition("DataSource", "Data Source");
      MT566.U0081U0005.Elements.Add((SwiftDefinitionElement) MT566.U0083U0005);
      MT566.U0084U0005 = new SwiftTagSubItemDefinition("Indicator", "Indicator");
      MT566.U0081U0005.Elements.Add((SwiftDefinitionElement) MT566.U0084U0005);
      MT566.U0080U0005.Elements.Add((SwiftDefinitionElement) MT566.U0081U0005);
      MT566.U0086U0005 = new SwiftTagDefinition("Indicator_D_22H", "Corporate Action Option Code");
      MT566.U0086U0005.TagName = ":22H::";
      MT566.U0086U0005.Multiple = true;
      MT566.U0087U0005 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0086U0005.Elements.Add((SwiftDefinitionElement) MT566.U0087U0005);
      MT566.U0088U0005 = new SwiftTagSubItemDefinition("Indicator", "Indicator");
      MT566.U0086U0005.Elements.Add((SwiftDefinitionElement) MT566.U0088U0005);
      MT566.U0080U0005.Elements.Add((SwiftDefinitionElement) MT566.U0086U0005);
      MT566.U001BU0005.Elements.Add((SwiftDefinitionElement) MT566.U0080U0005);
      MT566.U0089U0005 = new SwiftTagDefinition("Currency_D_11A", "Currency Option");
      MT566.U0089U0005.TagName = ":11A::";
      MT566.U0089U0005.Mandatory = false;
      MT566.U008AU0005 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0089U0005.Elements.Add((SwiftDefinitionElement) MT566.U008AU0005);
      MT566.U008BU0005 = new SwiftTagSubItemDefinition("CurrencyCode", "Currency Code");
      MT566.U0089U0005.Elements.Add((SwiftDefinitionElement) MT566.U008BU0005);
      MT566.U001BU0005.Elements.Add((SwiftDefinitionElement) MT566.U0089U0005);
      MT566.U008CU0005 = new SwiftTagChoiceDefinition("Choice", "");
      MT566.U008CU0005.Mandatory = false;
      MT566.U008CU0005.Multiple = true;
      MT566.U008DU0005 = new SwiftTagDefinition("Date_D_98A", "Date");
      MT566.U008DU0005.TagName = ":98A::";
      MT566.U008DU0005.Multiple = true;
      MT566.U008EU0005 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U008DU0005.Elements.Add((SwiftDefinitionElement) MT566.U008EU0005);
      MT566.U008FU0005 = new SwiftTagSubItemDefinition("Date", "Date");
      MT566.U008DU0005.Elements.Add((SwiftDefinitionElement) MT566.U008FU0005);
      MT566.U008CU0005.Elements.Add((SwiftDefinitionElement) MT566.U008DU0005);
      MT566.U0090U0005 = new SwiftTagDefinition("DateCode_D_98B", "Date Code");
      MT566.U0090U0005.TagName = ":98B::";
      MT566.U0090U0005.Multiple = true;
      MT566.U0091U0005 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0090U0005.Elements.Add((SwiftDefinitionElement) MT566.U0091U0005);
      MT566.U0092U0005 = new SwiftTagSubItemDefinition("DataSource", "Data Source");
      MT566.U0090U0005.Elements.Add((SwiftDefinitionElement) MT566.U0092U0005);
      MT566.U0093U0005 = new SwiftTagSubItemDefinition("DateCode", "Date code");
      MT566.U0090U0005.Elements.Add((SwiftDefinitionElement) MT566.U0093U0005);
      MT566.U008CU0005.Elements.Add((SwiftDefinitionElement) MT566.U0090U0005);
      MT566.U0094U0005 = new SwiftTagDefinition("DateTime_D_98C", "Date/Time");
      MT566.U0094U0005.TagName = ":98C::";
      MT566.U0094U0005.Multiple = true;
      MT566.U0095U0005 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0094U0005.Elements.Add((SwiftDefinitionElement) MT566.U0095U0005);
      MT566.U0096U0005 = new SwiftTagSubItemDefinition("DateTime", "Date/ Time");
      MT566.U0097U0005 = new SwiftTagSubItemDefinition("Date", "Date");
      MT566.U0096U0005.Elements.Add((SwiftDefinitionElement) MT566.U0097U0005);
      MT566.U0098U0005 = new SwiftTagSubItemDefinition("Time", "Time");
      MT566.U0096U0005.Elements.Add((SwiftDefinitionElement) MT566.U0098U0005);
      MT566.U0094U0005.Elements.Add((SwiftDefinitionElement) MT566.U0096U0005);
      MT566.U008CU0005.Elements.Add((SwiftDefinitionElement) MT566.U0094U0005);
      MT566.U0099U0005 = new SwiftTagDefinition("DateTime_D_98E", "Preparation Date/Time");
      MT566.U0099U0005.TagName = ":98E::";
      MT566.U0099U0005.Multiple = true;
      MT566.U009AU0005 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0099U0005.Elements.Add((SwiftDefinitionElement) MT566.U009AU0005);
      MT566.U009BU0005 = new SwiftTagSubItemDefinition("DateTimeDecimalsAndUTCIndicator", "Preparation Date/Time");
      MT566.U009CU0005 = new SwiftTagSubItemDefinition("DateTimeDecimals", "Preparation Date/Time");
      MT566.U009DU0005 = new SwiftTagSubItemDefinition("DateTime", "Date\\Time");
      MT566.U009EU0005 = new SwiftTagSubItemDefinition("Date", "Date");
      MT566.U009DU0005.Elements.Add((SwiftDefinitionElement) MT566.U009EU0005);
      MT566.U009FU0005 = new SwiftTagSubItemDefinition("Time", "Time");
      MT566.U009DU0005.Elements.Add((SwiftDefinitionElement) MT566.U009FU0005);
      MT566.U009CU0005.Elements.Add((SwiftDefinitionElement) MT566.U009DU0005);
      MT566.U0001U0006 = new SwiftTagSubItemDefinition("Decimals", "Time");
      MT566.U0001U0006.Mandatory = false;
      MT566.U009CU0005.Elements.Add((SwiftDefinitionElement) MT566.U0001U0006);
      MT566.U009BU0005.Elements.Add((SwiftDefinitionElement) MT566.U009CU0005);
      MT566.U0002U0006 = new SwiftTagSubItemDefinition("UTCIndicatorRecord", "Date\\Time");
      MT566.U0002U0006.Mandatory = false;
      MT566.U0003U0006 = new SwiftTagSubItemDefinition("UTCIndicator", "Indicator");
      MT566.U0002U0006.Elements.Add((SwiftDefinitionElement) MT566.U0003U0006);
      MT566.U009BU0005.Elements.Add((SwiftDefinitionElement) MT566.U0002U0006);
      MT566.U0099U0005.Elements.Add((SwiftDefinitionElement) MT566.U009BU0005);
      MT566.U008CU0005.Elements.Add((SwiftDefinitionElement) MT566.U0099U0005);
      MT566.U001BU0005.Elements.Add((SwiftDefinitionElement) MT566.U008CU0005);
      MT566.U0004U0006 = new SwiftTagChoiceDefinition("Choice", "");
      MT566.U0004U0006.Mandatory = false;
      MT566.U0004U0006.Multiple = true;
      MT566.U0005U0006 = new SwiftTagDefinition("Period_D_69A", "Period");
      MT566.U0005U0006.TagName = ":69A::";
      MT566.U0005U0006.Multiple = true;
      MT566.U0006U0006 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0005U0006.Elements.Add((SwiftDefinitionElement) MT566.U0006U0006);
      MT566.U0007U0006 = new SwiftTagSubItemDefinition("Period", "Period");
      MT566.U0008U0006 = new SwiftTagSubItemDefinition("Date1", "Date");
      MT566.U0007U0006.Elements.Add((SwiftDefinitionElement) MT566.U0008U0006);
      MT566.U000EU0006 = new SwiftTagSubItemDefinition("Date2", "Date");
      MT566.U0007U0006.Elements.Add((SwiftDefinitionElement) MT566.U000EU0006);
      MT566.U0005U0006.Elements.Add((SwiftDefinitionElement) MT566.U0007U0006);
      MT566.U0004U0006.Elements.Add((SwiftDefinitionElement) MT566.U0005U0006);
      MT566.U000FU0006 = new SwiftTagDefinition("Period_D_69B", "Period");
      MT566.U000FU0006.TagName = ":69B::";
      MT566.U000FU0006.Multiple = true;
      MT566.U0010U0006 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U000FU0006.Elements.Add((SwiftDefinitionElement) MT566.U0010U0006);
      MT566.U0011U0006 = new SwiftTagSubItemDefinition("Period", "Period");
      MT566.U0012U0006 = new SwiftTagSubItemDefinition("DateTime1", "Date/ Time");
      MT566.U0013U0006 = new SwiftTagSubItemDefinition("Date", "Date");
      MT566.U0012U0006.Elements.Add((SwiftDefinitionElement) MT566.U0013U0006);
      MT566.U0014U0006 = new SwiftTagSubItemDefinition("Time", "Time");
      MT566.U0012U0006.Elements.Add((SwiftDefinitionElement) MT566.U0014U0006);
      MT566.U0011U0006.Elements.Add((SwiftDefinitionElement) MT566.U0012U0006);
      MT566.U0015U0006 = new SwiftTagSubItemDefinition("DateTime2", "Date/ Time");
      MT566.U0016U0006 = new SwiftTagSubItemDefinition("Date", "Date");
      MT566.U0015U0006.Elements.Add((SwiftDefinitionElement) MT566.U0016U0006);
      MT566.U0017U0006 = new SwiftTagSubItemDefinition("Time", "Time");
      MT566.U0015U0006.Elements.Add((SwiftDefinitionElement) MT566.U0017U0006);
      MT566.U0011U0006.Elements.Add((SwiftDefinitionElement) MT566.U0015U0006);
      MT566.U000FU0006.Elements.Add((SwiftDefinitionElement) MT566.U0011U0006);
      MT566.U0004U0006.Elements.Add((SwiftDefinitionElement) MT566.U000FU0006);
      MT566.U0018U0006 = new SwiftTagDefinition("Period_D_69C", "Period");
      MT566.U0018U0006.TagName = ":69C::";
      MT566.U0018U0006.Multiple = true;
      MT566.U0019U0006 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0018U0006.Elements.Add((SwiftDefinitionElement) MT566.U0019U0006);
      MT566.U001AU0006 = new SwiftTagSubItemDefinition("Period", "Period");
      MT566.U001BU0006 = new SwiftTagSubItemDefinition("Date", "Date");
      MT566.U001AU0006.Elements.Add((SwiftDefinitionElement) MT566.U001BU0006);
      MT566.U001CU0006 = new SwiftTagSubItemDefinition("DateCode", "Date Code");
      MT566.U001AU0006.Elements.Add((SwiftDefinitionElement) MT566.U001CU0006);
      MT566.U0018U0006.Elements.Add((SwiftDefinitionElement) MT566.U001AU0006);
      MT566.U0004U0006.Elements.Add((SwiftDefinitionElement) MT566.U0018U0006);
      MT566.U001DU0006 = new SwiftTagDefinition("Period_D_69D", "Period");
      MT566.U001DU0006.TagName = ":69D::";
      MT566.U001DU0006.Multiple = true;
      MT566.U001EU0006 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U001DU0006.Elements.Add((SwiftDefinitionElement) MT566.U001EU0006);
      MT566.U001FU0006 = new SwiftTagSubItemDefinition("Period", "Period");
      MT566.U007FU0006 = new SwiftTagSubItemDefinition("DateTime", "Date, Time");
      MT566.U0080U0006 = new SwiftTagSubItemDefinition("Date", "Date");
      MT566.U007FU0006.Elements.Add((SwiftDefinitionElement) MT566.U0080U0006);
      MT566.U0081U0006 = new SwiftTagSubItemDefinition("Time", "Time");
      MT566.U007FU0006.Elements.Add((SwiftDefinitionElement) MT566.U0081U0006);
      MT566.U001FU0006.Elements.Add((SwiftDefinitionElement) MT566.U007FU0006);
      MT566.U0082U0006 = new SwiftTagSubItemDefinition("DateCode", "Date Code");
      MT566.U001FU0006.Elements.Add((SwiftDefinitionElement) MT566.U0082U0006);
      MT566.U001DU0006.Elements.Add((SwiftDefinitionElement) MT566.U001FU0006);
      MT566.U0004U0006.Elements.Add((SwiftDefinitionElement) MT566.U001DU0006);
      MT566.U0083U0006 = new SwiftTagDefinition("Period_D_69E", "Period");
      MT566.U0083U0006.TagName = ":69E::";
      MT566.U0083U0006.Multiple = true;
      MT566.U0084U0006 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0083U0006.Elements.Add((SwiftDefinitionElement) MT566.U0084U0006);
      MT566.U0086U0006 = new SwiftTagSubItemDefinition("Period", "Period");
      MT566.U0087U0006 = new SwiftTagSubItemDefinition("DateCode", "Date Code");
      MT566.U0086U0006.Elements.Add((SwiftDefinitionElement) MT566.U0087U0006);
      MT566.U0088U0006 = new SwiftTagSubItemDefinition("Date", "Date");
      MT566.U0086U0006.Elements.Add((SwiftDefinitionElement) MT566.U0088U0006);
      MT566.U0083U0006.Elements.Add((SwiftDefinitionElement) MT566.U0086U0006);
      MT566.U0004U0006.Elements.Add((SwiftDefinitionElement) MT566.U0083U0006);
      MT566.U0089U0006 = new SwiftTagDefinition("Period_D_69F", "Period");
      MT566.U0089U0006.TagName = ":69F::";
      MT566.U0089U0006.Multiple = true;
      MT566.U008AU0006 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0089U0006.Elements.Add((SwiftDefinitionElement) MT566.U008AU0006);
      MT566.U008BU0006 = new SwiftTagSubItemDefinition("Period", "Period");
      MT566.U008CU0006 = new SwiftTagSubItemDefinition("DateCode", "Date Code");
      MT566.U008BU0006.Elements.Add((SwiftDefinitionElement) MT566.U008CU0006);
      MT566.U008DU0006 = new SwiftTagSubItemDefinition("DateTime", "Date, Time");
      MT566.U008EU0006 = new SwiftTagSubItemDefinition("Date", "Date");
      MT566.U008DU0006.Elements.Add((SwiftDefinitionElement) MT566.U008EU0006);
      MT566.U008FU0006 = new SwiftTagSubItemDefinition("Time", "Time");
      MT566.U008DU0006.Elements.Add((SwiftDefinitionElement) MT566.U008FU0006);
      MT566.U008BU0006.Elements.Add((SwiftDefinitionElement) MT566.U008DU0006);
      MT566.U0089U0006.Elements.Add((SwiftDefinitionElement) MT566.U008BU0006);
      MT566.U0004U0006.Elements.Add((SwiftDefinitionElement) MT566.U0089U0006);
      MT566.U001BU0005.Elements.Add((SwiftDefinitionElement) MT566.U0004U0006);
      MT566.U0090U0006 = new SwiftTagChoiceDefinition("Choice", "");
      MT566.U0090U0006.Mandatory = false;
      MT566.U0090U0006.Multiple = true;
      MT566.U0091U0006 = new SwiftTagDefinition("Rate_D_92A", "Rate");
      MT566.U0091U0006.TagName = ":92A::";
      MT566.U0091U0006.Multiple = true;
      MT566.U0092U0006 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0091U0006.Elements.Add((SwiftDefinitionElement) MT566.U0092U0006);
      MT566.U0093U0006 = new SwiftTagSubItemDefinition("SignRate", "Sign Rate");
      MT566.U0091U0006.Elements.Add((SwiftDefinitionElement) MT566.U0093U0006);
      MT566.U0090U0006.Elements.Add((SwiftDefinitionElement) MT566.U0091U0006);
      MT566.U0094U0006 = new SwiftTagDefinition("Rate_D_92F", "Rate");
      MT566.U0094U0006.TagName = ":92F::";
      MT566.U0094U0006.Multiple = true;
      MT566.U0095U0006 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0094U0006.Elements.Add((SwiftDefinitionElement) MT566.U0095U0006);
      MT566.U0096U0006 = new SwiftTagSubItemDefinition("Rate", "Rate");
      MT566.U0097U0006 = new SwiftTagSubItemDefinition("CurrencyCode", "Currency Code");
      MT566.U0096U0006.Elements.Add((SwiftDefinitionElement) MT566.U0097U0006);
      MT566.U0098U0006 = new SwiftTagSubItemDefinition("Amount", "Amount");
      MT566.U0096U0006.Elements.Add((SwiftDefinitionElement) MT566.U0098U0006);
      MT566.U0094U0006.Elements.Add((SwiftDefinitionElement) MT566.U0096U0006);
      MT566.U0090U0006.Elements.Add((SwiftDefinitionElement) MT566.U0094U0006);
      MT566.U0099U0006 = new SwiftTagDefinition("Rate_D_92J", "Corporate Action Event Indicator");
      MT566.U0099U0006.TagName = ":92J::";
      MT566.U0099U0006.Multiple = true;
      MT566.U009AU0006 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0099U0006.Elements.Add((SwiftDefinitionElement) MT566.U009AU0006);
      MT566.U009BU0006 = new SwiftTagSubItemDefinition("DataSource", "Data Source");
      MT566.U0099U0006.Elements.Add((SwiftDefinitionElement) MT566.U009BU0006);
      MT566.U009CU0006 = new SwiftTagSubItemDefinition("RateTypeCode", "Rate Type Code");
      MT566.U0099U0006.Elements.Add((SwiftDefinitionElement) MT566.U009CU0006);
      MT566.U009DU0006 = new SwiftTagSubItemDefinition("CurrencyCodeAndAmount", "Currency Code, Amount");
      MT566.U009EU0006 = new SwiftTagSubItemDefinition("CurrencyCode", "Currency Code");
      MT566.U009DU0006.Elements.Add((SwiftDefinitionElement) MT566.U009EU0006);
      MT566.U009FU0006 = new SwiftTagSubItemDefinition("Amount", "Amount");
      MT566.U009DU0006.Elements.Add((SwiftDefinitionElement) MT566.U009FU0006);
      MT566.U0099U0006.Elements.Add((SwiftDefinitionElement) MT566.U009DU0006);
      MT566.U0001U0007 = new SwiftTagSubItemDefinition("RateStatus", "Rate Status");
      MT566.U0001U0007.Mandatory = false;
      MT566.U0002U0007 = new SwiftTagSubItemDefinition("RateStatus_1", "Rate Status");
      MT566.U0001U0007.Elements.Add((SwiftDefinitionElement) MT566.U0002U0007);
      MT566.U0099U0006.Elements.Add((SwiftDefinitionElement) MT566.U0001U0007);
      MT566.U0090U0006.Elements.Add((SwiftDefinitionElement) MT566.U0099U0006);
      MT566.U001BU0005.Elements.Add((SwiftDefinitionElement) MT566.U0090U0006);
      MT566.U0003U0007 = new SwiftTagChoiceDefinition("Choice", "");
      MT566.U0003U0007.Mandatory = false;
      MT566.U0003U0007.Multiple = true;
      MT566.U0004U0007 = new SwiftTagDefinition("Price_D_90A", "Price");
      MT566.U0004U0007.TagName = ":90A::";
      MT566.U0004U0007.Multiple = true;
      MT566.U0005U0007 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0004U0007.Elements.Add((SwiftDefinitionElement) MT566.U0005U0007);
      MT566.U0006U0007 = new SwiftTagSubItemDefinition("Price", "Price");
      MT566.U0007U0007 = new SwiftTagSubItemDefinition("PercentageTypeCode", "Percentage Type Code");
      MT566.U0006U0007.Elements.Add((SwiftDefinitionElement) MT566.U0007U0007);
      MT566.U0008U0007 = new SwiftTagSubItemDefinition("Price_1", "Price");
      MT566.U0006U0007.Elements.Add((SwiftDefinitionElement) MT566.U0008U0007);
      MT566.U0004U0007.Elements.Add((SwiftDefinitionElement) MT566.U0006U0007);
      MT566.U0003U0007.Elements.Add((SwiftDefinitionElement) MT566.U0004U0007);
      MT566.U000EU0007 = new SwiftTagDefinition("Price_D_90B", "Price");
      MT566.U000EU0007.TagName = ":90B::";
      MT566.U000EU0007.Multiple = true;
      MT566.U000FU0007 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U000EU0007.Elements.Add((SwiftDefinitionElement) MT566.U000FU0007);
      MT566.U0010U0007 = new SwiftTagSubItemDefinition("Price", "Price");
      MT566.U0011U0007 = new SwiftTagSubItemDefinition("AmountTypeCode", "Amount Type Code");
      MT566.U0010U0007.Elements.Add((SwiftDefinitionElement) MT566.U0011U0007);
      MT566.U0012U0007 = new SwiftTagSubItemDefinition("CurrencyCodeAndPrice", "Currency Code, Price");
      MT566.U0013U0007 = new SwiftTagSubItemDefinition("CurrencyCode", "Currency Code");
      MT566.U0012U0007.Elements.Add((SwiftDefinitionElement) MT566.U0013U0007);
      MT566.U0014U0007 = new SwiftTagSubItemDefinition("Price", "Price");
      MT566.U0012U0007.Elements.Add((SwiftDefinitionElement) MT566.U0014U0007);
      MT566.U0010U0007.Elements.Add((SwiftDefinitionElement) MT566.U0012U0007);
      MT566.U000EU0007.Elements.Add((SwiftDefinitionElement) MT566.U0010U0007);
      MT566.U0003U0007.Elements.Add((SwiftDefinitionElement) MT566.U000EU0007);
      MT566.U0015U0007 = new SwiftTagDefinition("Price_D_90F", "Price");
      MT566.U0015U0007.TagName = ":90F::";
      MT566.U0015U0007.Mandatory = false;
      MT566.U0015U0007.Multiple = true;
      MT566.U0016U0007 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0015U0007.Elements.Add((SwiftDefinitionElement) MT566.U0016U0007);
      MT566.U0017U0007 = new SwiftTagSubItemDefinition("Price", "Price");
      MT566.U0018U0007 = new SwiftTagSubItemDefinition("AmountTypeCode", "Amount Type Code");
      MT566.U0017U0007.Elements.Add((SwiftDefinitionElement) MT566.U0018U0007);
      MT566.U0019U0007 = new SwiftTagSubItemDefinition("CurrencyCodeAndAmount", "Currency Code, Amount");
      MT566.U001AU0007 = new SwiftTagSubItemDefinition("CurrencyCode", "Currency Code");
      MT566.U0019U0007.Elements.Add((SwiftDefinitionElement) MT566.U001AU0007);
      MT566.U001BU0007 = new SwiftTagSubItemDefinition("Amount", "Price");
      MT566.U0019U0007.Elements.Add((SwiftDefinitionElement) MT566.U001BU0007);
      MT566.U0017U0007.Elements.Add((SwiftDefinitionElement) MT566.U0019U0007);
      MT566.U001CU0007 = new SwiftTagSubItemDefinition("QuantityTypeCode", "Quantity Type Code");
      MT566.U0017U0007.Elements.Add((SwiftDefinitionElement) MT566.U001CU0007);
      MT566.U001DU0007 = new SwiftTagSubItemDefinition("Quantity", "Quantity");
      MT566.U0017U0007.Elements.Add((SwiftDefinitionElement) MT566.U001DU0007);
      MT566.U0015U0007.Elements.Add((SwiftDefinitionElement) MT566.U0017U0007);
      MT566.U0003U0007.Elements.Add((SwiftDefinitionElement) MT566.U0015U0007);
      MT566.U001EU0007 = new SwiftTagDefinition("Price_D_90J", "Price");
      MT566.U001EU0007.TagName = ":90J::";
      MT566.U001EU0007.Mandatory = false;
      MT566.U001EU0007.Multiple = true;
      MT566.U001FU0007 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U001EU0007.Elements.Add((SwiftDefinitionElement) MT566.U001FU0007);
      MT566.U007FU0007 = new SwiftTagSubItemDefinition("Price", "Price");
      MT566.U0080U0007 = new SwiftTagSubItemDefinition("AmountTypeCode", "Amount Type Code");
      MT566.U007FU0007.Elements.Add((SwiftDefinitionElement) MT566.U0080U0007);
      MT566.U0081U0007 = new SwiftTagSubItemDefinition("CurrencyCodeAndAmount1", "Currency Code, Amount");
      MT566.U0082U0007 = new SwiftTagSubItemDefinition("CurrencyCode", "Currency Code");
      MT566.U0081U0007.Elements.Add((SwiftDefinitionElement) MT566.U0082U0007);
      MT566.U0083U0007 = new SwiftTagSubItemDefinition("Amount", "Amount");
      MT566.U0081U0007.Elements.Add((SwiftDefinitionElement) MT566.U0083U0007);
      MT566.U007FU0007.Elements.Add((SwiftDefinitionElement) MT566.U0081U0007);
      MT566.U0084U0007 = new SwiftTagSubItemDefinition("CurrencyCodeAndAmount2", "Currency Code, Amount");
      MT566.U0086U0007 = new SwiftTagSubItemDefinition("CurrencyCode", "Currency Code");
      MT566.U0084U0007.Elements.Add((SwiftDefinitionElement) MT566.U0086U0007);
      MT566.U0087U0007 = new SwiftTagSubItemDefinition("Amount", "Amount");
      MT566.U0084U0007.Elements.Add((SwiftDefinitionElement) MT566.U0087U0007);
      MT566.U007FU0007.Elements.Add((SwiftDefinitionElement) MT566.U0084U0007);
      MT566.U001EU0007.Elements.Add((SwiftDefinitionElement) MT566.U007FU0007);
      MT566.U0003U0007.Elements.Add((SwiftDefinitionElement) MT566.U001EU0007);
      MT566.U0088U0007 = new SwiftTagDefinition("Price_D_90K", "Price");
      MT566.U0088U0007.TagName = ":90K::";
      MT566.U0088U0007.Multiple = true;
      MT566.U0089U0007 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0088U0007.Elements.Add((SwiftDefinitionElement) MT566.U0089U0007);
      MT566.U008AU0007 = new SwiftTagSubItemDefinition("IndexPoints", "Index Points");
      MT566.U0088U0007.Elements.Add((SwiftDefinitionElement) MT566.U008AU0007);
      MT566.U0003U0007.Elements.Add((SwiftDefinitionElement) MT566.U0088U0007);
      MT566.U001BU0005.Elements.Add((SwiftDefinitionElement) MT566.U0003U0007);
      MT566.U008BU0007 = new SwiftTagDefinition("Place_D_94B", "Place Of Safe Keeping");
      MT566.U008BU0007.TagName = ":94B::";
      MT566.U008BU0007.Mandatory = false;
      MT566.U008CU0007 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U008BU0007.Elements.Add((SwiftDefinitionElement) MT566.U008CU0007);
      MT566.U008DU0007 = new SwiftTagSubItemDefinition("DataSource", "Data Source");
      MT566.U008BU0007.Elements.Add((SwiftDefinitionElement) MT566.U008DU0007);
      MT566.U008EU0007 = new SwiftTagSubItemDefinition("Place", "Place");
      MT566.U008BU0007.Elements.Add((SwiftDefinitionElement) MT566.U008EU0007);
      MT566.U008FU0007 = new SwiftTagSubItemDefinition("Narrative", "Narrative");
      MT566.U008FU0007.Mandatory = false;
      MT566.U0090U0007 = new SwiftTagSubItemDefinition("Narrative_94B", "Narrative");
      MT566.U008FU0007.Elements.Add((SwiftDefinitionElement) MT566.U0090U0007);
      MT566.U008BU0007.Elements.Add((SwiftDefinitionElement) MT566.U008FU0007);
      MT566.U001BU0005.Elements.Add((SwiftDefinitionElement) MT566.U008BU0007);
      MT566.U0091U0007 = new SwiftTagSequenceDefinition("SequenceD1", "Securities Movement");
      MT566.U0091U0007.Mandatory = false;
      MT566.U0091U0007.Multiple = true;
      MT566.U0092U0007 = new SwiftTagDefinition("StartOfBlock_D1_16R", "Start Of Block");
      MT566.U0092U0007.TagName = ":16R:SECMOVE";
      MT566.U0093U0007 = new SwiftTagSubItemDefinition("StartOfBlock", "Start Of Block");
      MT566.U0093U0007.Mandatory = false;
      MT566.U0092U0007.Elements.Add((SwiftDefinitionElement) MT566.U0093U0007);
      MT566.U0091U0007.Elements.Add((SwiftDefinitionElement) MT566.U0092U0007);
      MT566.U0094U0007 = new SwiftTagChoiceDefinition("Choice", "");
      MT566.U0094U0007.Multiple = true;
      MT566.U0095U0007 = new SwiftTagDefinition("Indicator_1_D1_22F", "Indicator");
      MT566.U0095U0007.TagName = ":22F::";
      MT566.U0095U0007.Multiple = true;
      MT566.U0096U0007 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0095U0007.Elements.Add((SwiftDefinitionElement) MT566.U0096U0007);
      MT566.U0097U0007 = new SwiftTagSubItemDefinition("DataSource", "Data Source");
      MT566.U0095U0007.Elements.Add((SwiftDefinitionElement) MT566.U0097U0007);
      MT566.U0098U0007 = new SwiftTagSubItemDefinition("Indicator", "Indicator");
      MT566.U0095U0007.Elements.Add((SwiftDefinitionElement) MT566.U0098U0007);
      MT566.U0094U0007.Elements.Add((SwiftDefinitionElement) MT566.U0095U0007);
      MT566.U0099U0007 = new SwiftTagDefinition("Indicator_D1_22H", "Indicator");
      MT566.U0099U0007.TagName = ":22H::";
      MT566.U0099U0007.Multiple = true;
      MT566.U009AU0007 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0099U0007.Elements.Add((SwiftDefinitionElement) MT566.U009AU0007);
      MT566.U009BU0007 = new SwiftTagSubItemDefinition("Indicator", "Indicator");
      MT566.U0099U0007.Elements.Add((SwiftDefinitionElement) MT566.U009BU0007);
      MT566.U0094U0007.Elements.Add((SwiftDefinitionElement) MT566.U0099U0007);
      MT566.U0091U0007.Elements.Add((SwiftDefinitionElement) MT566.U0094U0007);
      MT566.U009CU0007 = new SwiftTagDefinition("IdentificationOfFinancialInstrument_D1_35B", "Identification of the Financial Instrument");
      MT566.U009CU0007.TagName = ":35B:";
      MT566.U009DU0007 = new SwiftTagSubItemDefinition("IdentificationOfSecurity", "Identification of Security");
      MT566.U009DU0007.Mandatory = false;
      MT566.U009EU0007 = new SwiftTagSubItemDefinition("IdentificationOfSecurity_1", "Identification of Security");
      MT566.U009DU0007.Elements.Add((SwiftDefinitionElement) MT566.U009EU0007);
      MT566.U009CU0007.Elements.Add((SwiftDefinitionElement) MT566.U009DU0007);
      MT566.U009FU0007 = new SwiftTagSubItemDefinition("DescriptionOfSecurity", "Description Of Security");
      MT566.U009FU0007.Mandatory = false;
      MT566.U009CU0007.Elements.Add((SwiftDefinitionElement) MT566.U009FU0007);
      MT566.U0091U0007.Elements.Add((SwiftDefinitionElement) MT566.U009CU0007);
      MT566.U0001U0008 = new SwiftTagSequenceDefinition("SequenceD1a", "Financial Instrument Attributes");
      MT566.U0001U0008.Mandatory = false;
      MT566.U0002U0008 = new SwiftTagDefinition("StartOfBlock_D1a_16R", "Start Of Block");
      MT566.U0002U0008.TagName = ":16R:FIA";
      MT566.U0003U0008 = new SwiftTagSubItemDefinition("StartOfBlock", "Start Of Block");
      MT566.U0003U0008.Mandatory = false;
      MT566.U0002U0008.Elements.Add((SwiftDefinitionElement) MT566.U0003U0008);
      MT566.U0001U0008.Elements.Add((SwiftDefinitionElement) MT566.U0002U0008);
      MT566.U0004U0008 = new SwiftTagDefinition("Place_D1a_94B", "Place Of Safe Keeping");
      MT566.U0004U0008.TagName = ":94B::";
      MT566.U0004U0008.Mandatory = false;
      MT566.U0005U0008 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0004U0008.Elements.Add((SwiftDefinitionElement) MT566.U0005U0008);
      MT566.U0006U0008 = new SwiftTagSubItemDefinition("DataSource", "Data Source");
      MT566.U0004U0008.Elements.Add((SwiftDefinitionElement) MT566.U0006U0008);
      MT566.U0007U0008 = new SwiftTagSubItemDefinition("Place", "Place");
      MT566.U0004U0008.Elements.Add((SwiftDefinitionElement) MT566.U0007U0008);
      MT566.U0008U0008 = new SwiftTagSubItemDefinition("Narrative", "Narrative");
      MT566.U0008U0008.Mandatory = false;
      MT566.U000EU0008 = new SwiftTagSubItemDefinition("Narrative_94B", "Narrative");
      MT566.U0008U0008.Elements.Add((SwiftDefinitionElement) MT566.U000EU0008);
      MT566.U0004U0008.Elements.Add((SwiftDefinitionElement) MT566.U0008U0008);
      MT566.U0001U0008.Elements.Add((SwiftDefinitionElement) MT566.U0004U0008);
      MT566.U000FU0008 = new SwiftTagDefinition("Indicator_D1a_22F", "Corporate Action Event Indicator");
      MT566.U000FU0008.TagName = ":22F::";
      MT566.U000FU0008.Mandatory = false;
      MT566.U0010U0008 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U000FU0008.Elements.Add((SwiftDefinitionElement) MT566.U0010U0008);
      MT566.U0011U0008 = new SwiftTagSubItemDefinition("DataSource", "Data Source");
      MT566.U000FU0008.Elements.Add((SwiftDefinitionElement) MT566.U0011U0008);
      MT566.U0012U0008 = new SwiftTagSubItemDefinition("Indicator", "Indicator");
      MT566.U000FU0008.Elements.Add((SwiftDefinitionElement) MT566.U0012U0008);
      MT566.U0001U0008.Elements.Add((SwiftDefinitionElement) MT566.U000FU0008);
      MT566.U0013U0008 = new SwiftTagChoiceDefinition("Choice", "");
      MT566.U0013U0008.Mandatory = false;
      MT566.U0013U0008.Multiple = true;
      MT566.U0014U0008 = new SwiftTagDefinition("TypeOfFinancialInstrument_D1a_12A", "Classification Type");
      MT566.U0014U0008.TagName = ":12A::";
      MT566.U0015U0008 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0014U0008.Elements.Add((SwiftDefinitionElement) MT566.U0015U0008);
      MT566.U0016U0008 = new SwiftTagSubItemDefinition("DataSource", "Data Source");
      MT566.U0014U0008.Elements.Add((SwiftDefinitionElement) MT566.U0016U0008);
      MT566.U0017U0008 = new SwiftTagSubItemDefinition("InstrumentCode", "Instrument Code or Description");
      MT566.U0014U0008.Elements.Add((SwiftDefinitionElement) MT566.U0017U0008);
      MT566.U0013U0008.Elements.Add((SwiftDefinitionElement) MT566.U0014U0008);
      MT566.U0018U0008 = new SwiftTagDefinition("TypeOfFinancialInstrument_D1a_12C", "Classification Type");
      MT566.U0018U0008.TagName = ":12C::";
      MT566.U0019U0008 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0018U0008.Elements.Add((SwiftDefinitionElement) MT566.U0019U0008);
      MT566.U001AU0008 = new SwiftTagSubItemDefinition("CFICode", "CFI Code");
      MT566.U0018U0008.Elements.Add((SwiftDefinitionElement) MT566.U001AU0008);
      MT566.U0013U0008.Elements.Add((SwiftDefinitionElement) MT566.U0018U0008);
      MT566.U0001U0008.Elements.Add((SwiftDefinitionElement) MT566.U0013U0008);
      MT566.U001BU0008 = new SwiftTagDefinition("Currency_D1a_11A", "Currency of Denomination");
      MT566.U001BU0008.TagName = ":11A::";
      MT566.U001BU0008.Mandatory = false;
      MT566.U001CU0008 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U001BU0008.Elements.Add((SwiftDefinitionElement) MT566.U001CU0008);
      MT566.U001DU0008 = new SwiftTagSubItemDefinition("CurrencyCode", "Currency Code");
      MT566.U001BU0008.Elements.Add((SwiftDefinitionElement) MT566.U001DU0008);
      MT566.U0001U0008.Elements.Add((SwiftDefinitionElement) MT566.U001BU0008);
      MT566.U001EU0008 = new SwiftTagDefinition("Date_D1a_98A", "Date");
      MT566.U001EU0008.TagName = ":98A::";
      MT566.U001EU0008.Mandatory = false;
      MT566.U001EU0008.Multiple = true;
      MT566.U001FU0008 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U001EU0008.Elements.Add((SwiftDefinitionElement) MT566.U001FU0008);
      MT566.U007FU0008 = new SwiftTagSubItemDefinition("Date", "Date");
      MT566.U001EU0008.Elements.Add((SwiftDefinitionElement) MT566.U007FU0008);
      MT566.U0001U0008.Elements.Add((SwiftDefinitionElement) MT566.U001EU0008);
      MT566.U0080U0008 = new SwiftTagChoiceDefinition("Choice", "");
      MT566.U0080U0008.Mandatory = false;
      MT566.U0080U0008.Multiple = true;
      MT566.U0081U0008 = new SwiftTagDefinition("IssuePrice_D1a_90A", "Price");
      MT566.U0081U0008.TagName = ":90A::";
      MT566.U0082U0008 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0081U0008.Elements.Add((SwiftDefinitionElement) MT566.U0082U0008);
      MT566.U0083U0008 = new SwiftTagSubItemDefinition("Price", "Price");
      MT566.U0084U0008 = new SwiftTagSubItemDefinition("PercentageTypeCode", "Percentage Type Code");
      MT566.U0083U0008.Elements.Add((SwiftDefinitionElement) MT566.U0084U0008);
      MT566.U0086U0008 = new SwiftTagSubItemDefinition("Price_1", "Price");
      MT566.U0083U0008.Elements.Add((SwiftDefinitionElement) MT566.U0086U0008);
      MT566.U0081U0008.Elements.Add((SwiftDefinitionElement) MT566.U0083U0008);
      MT566.U0080U0008.Elements.Add((SwiftDefinitionElement) MT566.U0081U0008);
      MT566.U0087U0008 = new SwiftTagDefinition("IssuePrice_D1a_90B", "Price");
      MT566.U0087U0008.TagName = ":90B::";
      MT566.U0088U0008 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0087U0008.Elements.Add((SwiftDefinitionElement) MT566.U0088U0008);
      MT566.U0089U0008 = new SwiftTagSubItemDefinition("Price", "Price");
      MT566.U008AU0008 = new SwiftTagSubItemDefinition("AmountTypeCode", "Amount Type Code");
      MT566.U0089U0008.Elements.Add((SwiftDefinitionElement) MT566.U008AU0008);
      MT566.U008BU0008 = new SwiftTagSubItemDefinition("CurrencyCodeAndPrice", "Currency,  Price");
      MT566.U008CU0008 = new SwiftTagSubItemDefinition("CurrencyCode", "Currency Code");
      MT566.U008BU0008.Elements.Add((SwiftDefinitionElement) MT566.U008CU0008);
      MT566.U008DU0008 = new SwiftTagSubItemDefinition("Price", "Price");
      MT566.U008BU0008.Elements.Add((SwiftDefinitionElement) MT566.U008DU0008);
      MT566.U0089U0008.Elements.Add((SwiftDefinitionElement) MT566.U008BU0008);
      MT566.U0087U0008.Elements.Add((SwiftDefinitionElement) MT566.U0089U0008);
      MT566.U0080U0008.Elements.Add((SwiftDefinitionElement) MT566.U0087U0008);
      MT566.U0001U0008.Elements.Add((SwiftDefinitionElement) MT566.U0080U0008);
      MT566.U008EU0008 = new SwiftTagDefinition("Rate_D1a_92A", "Rate");
      MT566.U008EU0008.TagName = ":92A::";
      MT566.U008EU0008.Mandatory = false;
      MT566.U008EU0008.Multiple = true;
      MT566.U008FU0008 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U008EU0008.Elements.Add((SwiftDefinitionElement) MT566.U008FU0008);
      MT566.U0090U0008 = new SwiftTagSubItemDefinition("SignRate", "Sign Rate");
      MT566.U008EU0008.Elements.Add((SwiftDefinitionElement) MT566.U0090U0008);
      MT566.U0001U0008.Elements.Add((SwiftDefinitionElement) MT566.U008EU0008);
      MT566.U0091U0008 = new SwiftTagDefinition("QuantityOfFinancialInstrument_D1a_36B", "Quantity of Financial Instrument");
      MT566.U0091U0008.TagName = ":36B::";
      MT566.U0091U0008.Mandatory = false;
      MT566.U0091U0008.Multiple = true;
      MT566.U0092U0008 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0091U0008.Elements.Add((SwiftDefinitionElement) MT566.U0092U0008);
      MT566.U0093U0008 = new SwiftTagSubItemDefinition("QuantityOfFinancialInstrument", "Quantity of Financial Instrument");
      MT566.U0094U0008 = new SwiftTagSubItemDefinition("QuantityTypeCode", "Quantity Type Code");
      MT566.U0093U0008.Elements.Add((SwiftDefinitionElement) MT566.U0094U0008);
      MT566.U0095U0008 = new SwiftTagSubItemDefinition("Quantity", "Quantity");
      MT566.U0093U0008.Elements.Add((SwiftDefinitionElement) MT566.U0095U0008);
      MT566.U0091U0008.Elements.Add((SwiftDefinitionElement) MT566.U0093U0008);
      MT566.U0001U0008.Elements.Add((SwiftDefinitionElement) MT566.U0091U0008);
      MT566.U0096U0008 = new SwiftTagDefinition("EndOfBlock_D1a_16S", "End Of Block");
      MT566.U0096U0008.TagName = ":16S:FIA";
      MT566.U0097U0008 = new SwiftTagSubItemDefinition("EndOfBlock", "End Of Block");
      MT566.U0097U0008.Mandatory = false;
      MT566.U0096U0008.Elements.Add((SwiftDefinitionElement) MT566.U0097U0008);
      MT566.U0001U0008.Elements.Add((SwiftDefinitionElement) MT566.U0096U0008);
      MT566.U0091U0007.Elements.Add((SwiftDefinitionElement) MT566.U0001U0008);
      MT566.U0098U0008 = new SwiftTagDefinition("QuantityOfFinancialInstrument_D1_36B", "Posting Quantity");
      MT566.U0098U0008.TagName = ":36B::";
      MT566.U0098U0008.Multiple = true;
      MT566.U0099U0008 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0098U0008.Elements.Add((SwiftDefinitionElement) MT566.U0099U0008);
      MT566.U009AU0008 = new SwiftTagSubItemDefinition("QuantityOfFinancialInstrument", "Posting Quantity");
      MT566.U009BU0008 = new SwiftTagSubItemDefinition("QuantityTypeCode", "Quantity Type Code");
      MT566.U009AU0008.Elements.Add((SwiftDefinitionElement) MT566.U009BU0008);
      MT566.U009CU0008 = new SwiftTagSubItemDefinition("Quantity", "Quantity");
      MT566.U009AU0008.Elements.Add((SwiftDefinitionElement) MT566.U009CU0008);
      MT566.U0098U0008.Elements.Add((SwiftDefinitionElement) MT566.U009AU0008);
      MT566.U0091U0007.Elements.Add((SwiftDefinitionElement) MT566.U0098U0008);
      MT566.U009DU0008 = new SwiftTagChoiceDefinition("Choice", "");
      MT566.U009DU0008.Mandatory = false;
      MT566.U009DU0008.Multiple = true;
      MT566.U009EU0008 = new SwiftTagDefinition("Place_D1_94C", "Place");
      MT566.U009EU0008.TagName = ":94C::";
      MT566.U009FU0008 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U009EU0008.Elements.Add((SwiftDefinitionElement) MT566.U009FU0008);
      MT566.U0001U000E = new SwiftTagSubItemDefinition("CountryCode", "Country Code");
      MT566.U009EU0008.Elements.Add((SwiftDefinitionElement) MT566.U0001U000E);
      MT566.U009DU0008.Elements.Add((SwiftDefinitionElement) MT566.U009EU0008);
      MT566.U0002U000E = new SwiftTagDefinition("Place_D1_94B", "Place");
      MT566.U0002U000E.TagName = ":94B::";
      MT566.U0003U000E = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0002U000E.Elements.Add((SwiftDefinitionElement) MT566.U0003U000E);
      MT566.U0004U000E = new SwiftTagSubItemDefinition("DataSource", "Data Source Scheme");
      MT566.U0002U000E.Elements.Add((SwiftDefinitionElement) MT566.U0004U000E);
      MT566.U0005U000E = new SwiftTagSubItemDefinition("PlaceCode", "Place Code");
      MT566.U0002U000E.Elements.Add((SwiftDefinitionElement) MT566.U0005U000E);
      MT566.U0006U000E = new SwiftTagSubItemDefinition("Narrative_94B", "Narrative");
      MT566.U0006U000E.Mandatory = false;
      MT566.U0002U000E.Elements.Add((SwiftDefinitionElement) MT566.U0006U000E);
      MT566.U009DU0008.Elements.Add((SwiftDefinitionElement) MT566.U0002U000E);
      MT566.U0007U000E = new SwiftTagDefinition("Place_D1_94F", "Place");
      MT566.U0007U000E.TagName = ":94F::";
      MT566.U0008U000E = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0007U000E.Elements.Add((SwiftDefinitionElement) MT566.U0008U000E);
      MT566.U000EU000E = new SwiftTagSubItemDefinition("Place", "Place");
      MT566.U000FU000E = new SwiftTagSubItemDefinition("Place_1", "Place");
      MT566.U000EU000E.Elements.Add((SwiftDefinitionElement) MT566.U000FU000E);
      MT566.U0010U000E = new SwiftTagSubItemDefinition("BankIdentifierCode", "Bank Identifier Code");
      MT566.U000EU000E.Elements.Add((SwiftDefinitionElement) MT566.U0010U000E);
      MT566.U0007U000E.Elements.Add((SwiftDefinitionElement) MT566.U000EU000E);
      MT566.U009DU0008.Elements.Add((SwiftDefinitionElement) MT566.U0007U000E);
      MT566.U0091U0007.Elements.Add((SwiftDefinitionElement) MT566.U009DU0008);
      MT566.U0011U000E = new SwiftTagDefinition("Indicator_2_D1_22F", "Disposition of Fractions");
      MT566.U0011U000E.TagName = ":22F::";
      MT566.U0011U000E.Mandatory = false;
      MT566.U0012U000E = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0011U000E.Elements.Add((SwiftDefinitionElement) MT566.U0012U000E);
      MT566.U0013U000E = new SwiftTagSubItemDefinition("DataSource", "Data Source");
      MT566.U0011U000E.Elements.Add((SwiftDefinitionElement) MT566.U0013U000E);
      MT566.U0014U000E = new SwiftTagSubItemDefinition("Indicator", "Indicator");
      MT566.U0011U000E.Elements.Add((SwiftDefinitionElement) MT566.U0014U000E);
      MT566.U0091U0007.Elements.Add((SwiftDefinitionElement) MT566.U0011U000E);
      MT566.U0015U000E = new SwiftTagDefinition("Currency_D1_11A", "Currency Option");
      MT566.U0015U000E.TagName = ":11A::";
      MT566.U0015U000E.Mandatory = false;
      MT566.U0016U000E = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0015U000E.Elements.Add((SwiftDefinitionElement) MT566.U0016U000E);
      MT566.U0017U000E = new SwiftTagSubItemDefinition("CurrencyCode", "Currency Code");
      MT566.U0015U000E.Elements.Add((SwiftDefinitionElement) MT566.U0017U000E);
      MT566.U0091U0007.Elements.Add((SwiftDefinitionElement) MT566.U0015U000E);
      MT566.U0018U000E = new SwiftTagChoiceDefinition("Choice", "");
      MT566.U0018U000E.Mandatory = false;
      MT566.U0018U000E.Multiple = true;
      MT566.U0019U000E = new SwiftTagDefinition("Price_D1_90A", "Price");
      MT566.U0019U000E.TagName = ":90A::";
      MT566.U0019U000E.Multiple = true;
      MT566.U001AU000E = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0019U000E.Elements.Add((SwiftDefinitionElement) MT566.U001AU000E);
      MT566.U001BU000E = new SwiftTagSubItemDefinition("Price", "Price");
      MT566.U001CU000E = new SwiftTagSubItemDefinition("PercentageTypeCode", "Percentage Type Code");
      MT566.U001BU000E.Elements.Add((SwiftDefinitionElement) MT566.U001CU000E);
      MT566.U001DU000E = new SwiftTagSubItemDefinition("Price_1", "Price");
      MT566.U001BU000E.Elements.Add((SwiftDefinitionElement) MT566.U001DU000E);
      MT566.U0019U000E.Elements.Add((SwiftDefinitionElement) MT566.U001BU000E);
      MT566.U0018U000E.Elements.Add((SwiftDefinitionElement) MT566.U0019U000E);
      MT566.U001EU000E = new SwiftTagDefinition("Price_D1_90B", "Price");
      MT566.U001EU000E.TagName = ":90B::";
      MT566.U001EU000E.Multiple = true;
      MT566.U001FU000E = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U001EU000E.Elements.Add((SwiftDefinitionElement) MT566.U001FU000E);
      MT566.U007FU000E = new SwiftTagSubItemDefinition("Price", "Price");
      MT566.U0080U000E = new SwiftTagSubItemDefinition("AmountTypeCode", "Amount Type Code");
      MT566.U007FU000E.Elements.Add((SwiftDefinitionElement) MT566.U0080U000E);
      MT566.U0081U000E = new SwiftTagSubItemDefinition("CurrencyCodeAndPrice", "Currency,  Price");
      MT566.U0082U000E = new SwiftTagSubItemDefinition("CurrencyCode", "Currency Code");
      MT566.U0081U000E.Elements.Add((SwiftDefinitionElement) MT566.U0082U000E);
      MT566.U0083U000E = new SwiftTagSubItemDefinition("Price", "Price");
      MT566.U0081U000E.Elements.Add((SwiftDefinitionElement) MT566.U0083U000E);
      MT566.U007FU000E.Elements.Add((SwiftDefinitionElement) MT566.U0081U000E);
      MT566.U001EU000E.Elements.Add((SwiftDefinitionElement) MT566.U007FU000E);
      MT566.U0018U000E.Elements.Add((SwiftDefinitionElement) MT566.U001EU000E);
      MT566.U0091U0007.Elements.Add((SwiftDefinitionElement) MT566.U0018U000E);
      MT566.U0084U000E = new SwiftTagChoiceDefinition("Choice", "");
      MT566.U0084U000E.Mandatory = false;
      MT566.U0084U000E.Multiple = true;
      MT566.U0086U000E = new SwiftTagDefinition("Rate_D1_92D", "Rate");
      MT566.U0086U000E.TagName = ":92D::";
      MT566.U0086U000E.Multiple = true;
      MT566.U0087U000E = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0086U000E.Elements.Add((SwiftDefinitionElement) MT566.U0087U000E);
      MT566.U0088U000E = new SwiftTagSubItemDefinition("Rate", "Rate");
      MT566.U0089U000E = new SwiftTagSubItemDefinition("Quantity1", "Quantity");
      MT566.U0088U000E.Elements.Add((SwiftDefinitionElement) MT566.U0089U000E);
      MT566.U008AU000E = new SwiftTagSubItemDefinition("Quantity2", "Quantity");
      MT566.U0088U000E.Elements.Add((SwiftDefinitionElement) MT566.U008AU000E);
      MT566.U0086U000E.Elements.Add((SwiftDefinitionElement) MT566.U0088U000E);
      MT566.U0084U000E.Elements.Add((SwiftDefinitionElement) MT566.U0086U000E);
      MT566.U008BU000E = new SwiftTagDefinition("Rate_D1_92L", "Rate");
      MT566.U008BU000E.TagName = ":92L::";
      MT566.U008BU000E.Multiple = true;
      MT566.U008CU000E = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U008BU000E.Elements.Add((SwiftDefinitionElement) MT566.U008CU000E);
      MT566.U008DU000E = new SwiftTagSubItemDefinition("Rate", "Rate");
      MT566.U008EU000E = new SwiftTagSubItemDefinition("FirstCurrencyCodeAndAmount", "Currency Code, Amount");
      MT566.U008FU000E = new SwiftTagSubItemDefinition("FirstCurrencyCode", "Currency Code");
      MT566.U008EU000E.Elements.Add((SwiftDefinitionElement) MT566.U008FU000E);
      MT566.U0090U000E = new SwiftTagSubItemDefinition("FirstAmount", "Amount");
      MT566.U008EU000E.Elements.Add((SwiftDefinitionElement) MT566.U0090U000E);
      MT566.U008DU000E.Elements.Add((SwiftDefinitionElement) MT566.U008EU000E);
      MT566.U0091U000E = new SwiftTagSubItemDefinition("SecondCurrencyCodeAndAmount", "Currency Code, Amount");
      MT566.U0092U000E = new SwiftTagSubItemDefinition("SecondCurrencyCode", "Currency Code");
      MT566.U0091U000E.Elements.Add((SwiftDefinitionElement) MT566.U0092U000E);
      MT566.U0093U000E = new SwiftTagSubItemDefinition("SecondAmount", "Amount");
      MT566.U0091U000E.Elements.Add((SwiftDefinitionElement) MT566.U0093U000E);
      MT566.U008DU000E.Elements.Add((SwiftDefinitionElement) MT566.U0091U000E);
      MT566.U008BU000E.Elements.Add((SwiftDefinitionElement) MT566.U008DU000E);
      MT566.U0084U000E.Elements.Add((SwiftDefinitionElement) MT566.U008BU000E);
      MT566.U0094U000E = new SwiftTagDefinition("Rate_D1_92M", "Rate");
      MT566.U0094U000E.TagName = ":92M::";
      MT566.U0094U000E.Multiple = true;
      MT566.U0095U000E = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0094U000E.Elements.Add((SwiftDefinitionElement) MT566.U0095U000E);
      MT566.U0096U000E = new SwiftTagSubItemDefinition("Rate", "Rate");
      MT566.U0097U000E = new SwiftTagSubItemDefinition("FirstCurrencyCodeAndAmount", "Currency Code, Amount");
      MT566.U0098U000E = new SwiftTagSubItemDefinition("FirstCurrencyCode", "Currency Code");
      MT566.U0097U000E.Elements.Add((SwiftDefinitionElement) MT566.U0098U000E);
      MT566.U0099U000E = new SwiftTagSubItemDefinition("FirstAmount", "Amount");
      MT566.U0097U000E.Elements.Add((SwiftDefinitionElement) MT566.U0099U000E);
      MT566.U0096U000E.Elements.Add((SwiftDefinitionElement) MT566.U0097U000E);
      MT566.U009AU000E = new SwiftTagSubItemDefinition("SecondCurrencyCodeAndAmount", "Currency Code, Amount");
      MT566.U009BU000E = new SwiftTagSubItemDefinition("SecondAmount", "Amount");
      MT566.U009AU000E.Elements.Add((SwiftDefinitionElement) MT566.U009BU000E);
      MT566.U0096U000E.Elements.Add((SwiftDefinitionElement) MT566.U009AU000E);
      MT566.U0094U000E.Elements.Add((SwiftDefinitionElement) MT566.U0096U000E);
      MT566.U0084U000E.Elements.Add((SwiftDefinitionElement) MT566.U0094U000E);
      MT566.U009CU000E = new SwiftTagDefinition("Rate_D1_92N", "Rate");
      MT566.U009CU000E.TagName = ":92N::";
      MT566.U009CU000E.Multiple = true;
      MT566.U009DU000E = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U009CU000E.Elements.Add((SwiftDefinitionElement) MT566.U009DU000E);
      MT566.U009EU000E = new SwiftTagSubItemDefinition("Rate", "Rate");
      MT566.U009FU000E = new SwiftTagSubItemDefinition("FirstCurrencyCodeAndAmount", "Currency Code, Amount");
      MT566.U0001U000F = new SwiftTagSubItemDefinition("FirstAmount", "Amount");
      MT566.U009FU000E.Elements.Add((SwiftDefinitionElement) MT566.U0001U000F);
      MT566.U009EU000E.Elements.Add((SwiftDefinitionElement) MT566.U009FU000E);
      MT566.U0002U000F = new SwiftTagSubItemDefinition("SecondCurrencyCodeAndAmount", "Currency Code, Amount");
      MT566.U0003U000F = new SwiftTagSubItemDefinition("SecondCurrencyCode", "Currency Code");
      MT566.U0002U000F.Elements.Add((SwiftDefinitionElement) MT566.U0003U000F);
      MT566.U0004U000F = new SwiftTagSubItemDefinition("SecondAmount", "Amount");
      MT566.U0002U000F.Elements.Add((SwiftDefinitionElement) MT566.U0004U000F);
      MT566.U009EU000E.Elements.Add((SwiftDefinitionElement) MT566.U0002U000F);
      MT566.U009CU000E.Elements.Add((SwiftDefinitionElement) MT566.U009EU000E);
      MT566.U0084U000E.Elements.Add((SwiftDefinitionElement) MT566.U009CU000E);
      MT566.U0091U0007.Elements.Add((SwiftDefinitionElement) MT566.U0084U000E);
      MT566.U0005U000F = new SwiftTagChoiceDefinition("Choice", "");
      MT566.U0005U000F.Multiple = true;
      MT566.U0006U000F = new SwiftTagDefinition("Date_D1_98A", "Date");
      MT566.U0006U000F.TagName = ":98A::";
      MT566.U0006U000F.Multiple = true;
      MT566.U0007U000F = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0006U000F.Elements.Add((SwiftDefinitionElement) MT566.U0007U000F);
      MT566.U0008U000F = new SwiftTagSubItemDefinition("Date", "Date");
      MT566.U0006U000F.Elements.Add((SwiftDefinitionElement) MT566.U0008U000F);
      MT566.U0005U000F.Elements.Add((SwiftDefinitionElement) MT566.U0006U000F);
      MT566.U000EU000F = new SwiftTagDefinition("DateCode_D1_98B", "Date Code");
      MT566.U000EU000F.TagName = ":98B::";
      MT566.U000EU000F.Multiple = true;
      MT566.U000FU000F = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U000EU000F.Elements.Add((SwiftDefinitionElement) MT566.U000FU000F);
      MT566.U0010U000F = new SwiftTagSubItemDefinition("DataSource", "Data Source");
      MT566.U000EU000F.Elements.Add((SwiftDefinitionElement) MT566.U0010U000F);
      MT566.U0011U000F = new SwiftTagSubItemDefinition("DateCode", "Date code");
      MT566.U000EU000F.Elements.Add((SwiftDefinitionElement) MT566.U0011U000F);
      MT566.U0005U000F.Elements.Add((SwiftDefinitionElement) MT566.U000EU000F);
      MT566.U0012U000F = new SwiftTagDefinition("DateTime_D1_98C", "Date/Time");
      MT566.U0012U000F.TagName = ":98C::";
      MT566.U0012U000F.Multiple = true;
      MT566.U0013U000F = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0012U000F.Elements.Add((SwiftDefinitionElement) MT566.U0013U000F);
      MT566.U0014U000F = new SwiftTagSubItemDefinition("DateTime", "Date/ Time");
      MT566.U0015U000F = new SwiftTagSubItemDefinition("Date", "Date");
      MT566.U0014U000F.Elements.Add((SwiftDefinitionElement) MT566.U0015U000F);
      MT566.U0016U000F = new SwiftTagSubItemDefinition("Time", "Time");
      MT566.U0014U000F.Elements.Add((SwiftDefinitionElement) MT566.U0016U000F);
      MT566.U0012U000F.Elements.Add((SwiftDefinitionElement) MT566.U0014U000F);
      MT566.U0005U000F.Elements.Add((SwiftDefinitionElement) MT566.U0012U000F);
      MT566.U0017U000F = new SwiftTagDefinition("DateTime_D1_98E", "Preparation Date/Time");
      MT566.U0017U000F.TagName = ":98E::";
      MT566.U0017U000F.Multiple = true;
      MT566.U0018U000F = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0017U000F.Elements.Add((SwiftDefinitionElement) MT566.U0018U000F);
      MT566.U0019U000F = new SwiftTagSubItemDefinition("DateTimeDecimalsAndUTCIndicator", "Preparation Date/Time");
      MT566.U001AU000F = new SwiftTagSubItemDefinition("DateTimeDecimals", "Preparation Date/Time");
      MT566.U001BU000F = new SwiftTagSubItemDefinition("DateTime", "Date\\Time");
      MT566.U001CU000F = new SwiftTagSubItemDefinition("Date", "Date");
      MT566.U001BU000F.Elements.Add((SwiftDefinitionElement) MT566.U001CU000F);
      MT566.U001DU000F = new SwiftTagSubItemDefinition("Time", "Time");
      MT566.U001BU000F.Elements.Add((SwiftDefinitionElement) MT566.U001DU000F);
      MT566.U001AU000F.Elements.Add((SwiftDefinitionElement) MT566.U001BU000F);
      MT566.U001EU000F = new SwiftTagSubItemDefinition("Decimals", "Time");
      MT566.U001EU000F.Mandatory = false;
      MT566.U001AU000F.Elements.Add((SwiftDefinitionElement) MT566.U001EU000F);
      MT566.U0019U000F.Elements.Add((SwiftDefinitionElement) MT566.U001AU000F);
      MT566.U001FU000F = new SwiftTagSubItemDefinition("UTCIndicatorRecord", "Date\\Time");
      MT566.U001FU000F.Mandatory = false;
      MT566.U007FU000F = new SwiftTagSubItemDefinition("UTCIndicator", "Indicator");
      MT566.U001FU000F.Elements.Add((SwiftDefinitionElement) MT566.U007FU000F);
      MT566.U0019U000F.Elements.Add((SwiftDefinitionElement) MT566.U001FU000F);
      MT566.U0017U000F.Elements.Add((SwiftDefinitionElement) MT566.U0019U000F);
      MT566.U0005U000F.Elements.Add((SwiftDefinitionElement) MT566.U0017U000F);
      MT566.U0091U0007.Elements.Add((SwiftDefinitionElement) MT566.U0005U000F);
      MT566.U0080U000F = new SwiftTagSequenceDefinition("SequenceD1b", "Receive/Deliver");
      MT566.U0080U000F.Mandatory = false;
      MT566.U0080U000F.Multiple = true;
      MT566.U0081U000F = new SwiftTagDefinition("StartOfBlock_D1b_16R", "Start Of Block");
      MT566.U0081U000F.TagName = ":16R:RECDEL";
      MT566.U0082U000F = new SwiftTagSubItemDefinition("StartOfBlock", "Start Of Block");
      MT566.U0082U000F.Mandatory = false;
      MT566.U0081U000F.Elements.Add((SwiftDefinitionElement) MT566.U0082U000F);
      MT566.U0080U000F.Elements.Add((SwiftDefinitionElement) MT566.U0081U000F);
      MT566.U0083U000F = new SwiftTagChoiceDefinition("Choice", "");
      MT566.U0083U000F.Multiple = true;
      MT566.U0084U000F = new SwiftTagDefinition("Party_D1b_95C", "Party");
      MT566.U0084U000F.TagName = ":95C::";
      MT566.U0084U000F.Multiple = true;
      MT566.U0086U000F = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0084U000F.Elements.Add((SwiftDefinitionElement) MT566.U0086U000F);
      MT566.U0087U000F = new SwiftTagSubItemDefinition("CountryCode", "Country Code");
      MT566.U0084U000F.Elements.Add((SwiftDefinitionElement) MT566.U0087U000F);
      MT566.U0083U000F.Elements.Add((SwiftDefinitionElement) MT566.U0084U000F);
      MT566.U0088U000F = new SwiftTagDefinition("Party_D1b_95P", "Party");
      MT566.U0088U000F.TagName = ":95P::";
      MT566.U0088U000F.Multiple = true;
      MT566.U0089U000F = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0088U000F.Elements.Add((SwiftDefinitionElement) MT566.U0089U000F);
      MT566.U008AU000F = new SwiftTagSubItemDefinition("BankIdentifierCode", "Bank Identifier Code");
      MT566.U0088U000F.Elements.Add((SwiftDefinitionElement) MT566.U008AU000F);
      MT566.U0083U000F.Elements.Add((SwiftDefinitionElement) MT566.U0088U000F);
      MT566.U008BU000F = new SwiftTagDefinition("Party_D1b_95R", "Party");
      MT566.U008BU000F.TagName = ":95R::";
      MT566.U008BU000F.Multiple = true;
      MT566.U008CU000F = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U008BU000F.Elements.Add((SwiftDefinitionElement) MT566.U008CU000F);
      MT566.U008DU000F = new SwiftTagSubItemDefinition("Party", "Party");
      MT566.U008EU000F = new SwiftTagSubItemDefinition("DataSourceScheme", "Data Source Scheme");
      MT566.U008DU000F.Elements.Add((SwiftDefinitionElement) MT566.U008EU000F);
      MT566.U008FU000F = new SwiftTagSubItemDefinition("ProprietaryCode", "Proprietary Code");
      MT566.U008DU000F.Elements.Add((SwiftDefinitionElement) MT566.U008FU000F);
      MT566.U008BU000F.Elements.Add((SwiftDefinitionElement) MT566.U008DU000F);
      MT566.U0083U000F.Elements.Add((SwiftDefinitionElement) MT566.U008BU000F);
      MT566.U0090U000F = new SwiftTagDefinition("Party_D1b_95Q", "Party");
      MT566.U0090U000F.TagName = ":95Q::";
      MT566.U0090U000F.Multiple = true;
      MT566.U0091U000F = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0090U000F.Elements.Add((SwiftDefinitionElement) MT566.U0091U000F);
      MT566.U0092U000F = new SwiftTagSubItemDefinition("NameAndAddress_95Q", "Name & Address");
      MT566.U0090U000F.Elements.Add((SwiftDefinitionElement) MT566.U0092U000F);
      MT566.U0083U000F.Elements.Add((SwiftDefinitionElement) MT566.U0090U000F);
      MT566.U0093U000F = new SwiftTagDefinition("Party_D1b_95S", "Party");
      MT566.U0093U000F.TagName = ":95S::";
      MT566.U0093U000F.Multiple = true;
      MT566.U0094U000F = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0093U000F.Elements.Add((SwiftDefinitionElement) MT566.U0094U000F);
      MT566.U0095U000F = new SwiftTagSubItemDefinition("DataSource", "Data Source");
      MT566.U0093U000F.Elements.Add((SwiftDefinitionElement) MT566.U0095U000F);
      MT566.U0096U000F = new SwiftTagSubItemDefinition("TypeOfID", "Type Of ID");
      MT566.U0093U000F.Elements.Add((SwiftDefinitionElement) MT566.U0096U000F);
      MT566.U0097U000F = new SwiftTagSubItemDefinition("CountryCode", "Country Code");
      MT566.U0093U000F.Elements.Add((SwiftDefinitionElement) MT566.U0097U000F);
      MT566.U0098U000F = new SwiftTagSubItemDefinition("AlternateID", "Alternate ID");
      MT566.U0093U000F.Elements.Add((SwiftDefinitionElement) MT566.U0098U000F);
      MT566.U0083U000F.Elements.Add((SwiftDefinitionElement) MT566.U0093U000F);
      MT566.U0080U000F.Elements.Add((SwiftDefinitionElement) MT566.U0083U000F);
      MT566.U0099U000F = new SwiftTagDefinition("Account_D1b_97A", "Safekeeping Account");
      MT566.U0099U000F.TagName = ":97A::";
      MT566.U0099U000F.Mandatory = false;
      MT566.U009AU000F = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0099U000F.Elements.Add((SwiftDefinitionElement) MT566.U009AU000F);
      MT566.U009BU000F = new SwiftTagSubItemDefinition("AccountNumber", "Account Number");
      MT566.U0099U000F.Elements.Add((SwiftDefinitionElement) MT566.U009BU000F);
      MT566.U0080U000F.Elements.Add((SwiftDefinitionElement) MT566.U0099U000F);
      MT566.U009CU000F = new SwiftTagDefinition("Reference_D1b_20C", "Reference");
      MT566.U009CU000F.TagName = ":20C::";
      MT566.U009CU000F.Mandatory = false;
      MT566.U009DU000F = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U009CU000F.Elements.Add((SwiftDefinitionElement) MT566.U009DU000F);
      MT566.U009EU000F = new SwiftTagSubItemDefinition("Reference", "Reference");
      MT566.U009CU000F.Elements.Add((SwiftDefinitionElement) MT566.U009EU000F);
      MT566.U0080U000F.Elements.Add((SwiftDefinitionElement) MT566.U009CU000F);
      MT566.U009FU000F = new SwiftTagDefinition("Narrative_D1b_70E", "Narrative");
      MT566.U009FU000F.TagName = ":70E::";
      MT566.U009FU000F.Mandatory = false;
      MT566.U009FU000F.Multiple = true;
      MT566.U0001U0010 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U009FU000F.Elements.Add((SwiftDefinitionElement) MT566.U0001U0010);
      MT566.U0002U0010 = new SwiftTagSubItemDefinition("Narrative", "Narrative");
      MT566.U009FU000F.Elements.Add((SwiftDefinitionElement) MT566.U0002U0010);
      MT566.U0080U000F.Elements.Add((SwiftDefinitionElement) MT566.U009FU000F);
      MT566.U0003U0010 = new SwiftTagDefinition("EndOfBlock_D1b_16S", "End Of Block");
      MT566.U0003U0010.TagName = ":16S:RECDEL";
      MT566.U0004U0010 = new SwiftTagSubItemDefinition("EndOfBlock", "End Of Block");
      MT566.U0004U0010.Mandatory = false;
      MT566.U0003U0010.Elements.Add((SwiftDefinitionElement) MT566.U0004U0010);
      MT566.U0080U000F.Elements.Add((SwiftDefinitionElement) MT566.U0003U0010);
      MT566.U0091U0007.Elements.Add((SwiftDefinitionElement) MT566.U0080U000F);
      MT566.U0005U0010 = new SwiftTagDefinition("EndOfBlock_D1_16S", "End Of Block");
      MT566.U0005U0010.TagName = ":16S:SECMOVE";
      MT566.U0006U0010 = new SwiftTagSubItemDefinition("EndOfBlock", "End Of Block");
      MT566.U0006U0010.Mandatory = false;
      MT566.U0005U0010.Elements.Add((SwiftDefinitionElement) MT566.U0006U0010);
      MT566.U0091U0007.Elements.Add((SwiftDefinitionElement) MT566.U0005U0010);
      MT566.U001BU0005.Elements.Add((SwiftDefinitionElement) MT566.U0091U0007);
      MT566.U0007U0010 = new SwiftTagSequenceDefinition("SequenceD2", "Cash Movements");
      MT566.U0007U0010.Mandatory = false;
      MT566.U0007U0010.Multiple = true;
      MT566.U0008U0010 = new SwiftTagDefinition("StartOfBlock_D2_16R", "Start Of Block");
      MT566.U0008U0010.TagName = ":16R:CASHMOVE";
      MT566.U000EU0010 = new SwiftTagSubItemDefinition("StartOfBlock", "Start Of Block");
      MT566.U000EU0010.Mandatory = false;
      MT566.U0008U0010.Elements.Add((SwiftDefinitionElement) MT566.U000EU0010);
      MT566.U0007U0010.Elements.Add((SwiftDefinitionElement) MT566.U0008U0010);
      MT566.U000FU0010 = new SwiftTagChoiceDefinition("Choice", "");
      MT566.U000FU0010.Multiple = true;
      MT566.U0010U0010 = new SwiftTagDefinition("Indicator_D2_22H", "Indicator");
      MT566.U0010U0010.TagName = ":22H::";
      MT566.U0010U0010.Multiple = true;
      MT566.U0011U0010 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0010U0010.Elements.Add((SwiftDefinitionElement) MT566.U0011U0010);
      MT566.U0012U0010 = new SwiftTagSubItemDefinition("Indicator", "Indicator");
      MT566.U0010U0010.Elements.Add((SwiftDefinitionElement) MT566.U0012U0010);
      MT566.U000FU0010.Elements.Add((SwiftDefinitionElement) MT566.U0010U0010);
      MT566.U0013U0010 = new SwiftTagDefinition("Indicator_D2_22F", "Corporate Action Event Indicator");
      MT566.U0013U0010.TagName = ":22F::";
      MT566.U0013U0010.Multiple = true;
      MT566.U0014U0010 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0013U0010.Elements.Add((SwiftDefinitionElement) MT566.U0014U0010);
      MT566.U0015U0010 = new SwiftTagSubItemDefinition("DataSource", "Data Source");
      MT566.U0013U0010.Elements.Add((SwiftDefinitionElement) MT566.U0015U0010);
      MT566.U0016U0010 = new SwiftTagSubItemDefinition("Indicator", "Indicator");
      MT566.U0013U0010.Elements.Add((SwiftDefinitionElement) MT566.U0016U0010);
      MT566.U000FU0010.Elements.Add((SwiftDefinitionElement) MT566.U0013U0010);
      MT566.U0007U0010.Elements.Add((SwiftDefinitionElement) MT566.U000FU0010);
      MT566.U0017U0010 = new SwiftTagChoiceDefinition("Choice", "");
      MT566.U0017U0010.Mandatory = false;
      MT566.U0017U0010.Multiple = true;
      MT566.U0018U0010 = new SwiftTagDefinition("Account_D2_97A", "Account");
      MT566.U0018U0010.TagName = ":97A::";
      MT566.U0018U0010.Mandatory = false;
      MT566.U0019U0010 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0018U0010.Elements.Add((SwiftDefinitionElement) MT566.U0019U0010);
      MT566.U001AU0010 = new SwiftTagSubItemDefinition("AccountNumber", "Account Number");
      MT566.U0018U0010.Elements.Add((SwiftDefinitionElement) MT566.U001AU0010);
      MT566.U0017U0010.Elements.Add((SwiftDefinitionElement) MT566.U0018U0010);
      MT566.U001BU0010 = new SwiftTagDefinition("Account_D2_97E", "Account");
      MT566.U001BU0010.TagName = ":97E::";
      MT566.U001CU0010 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U001BU0010.Elements.Add((SwiftDefinitionElement) MT566.U001CU0010);
      MT566.U001DU0010 = new SwiftTagSubItemDefinition("InternationalBankAccountNumber", "International Bank Account Number");
      MT566.U001BU0010.Elements.Add((SwiftDefinitionElement) MT566.U001DU0010);
      MT566.U0017U0010.Elements.Add((SwiftDefinitionElement) MT566.U001BU0010);
      MT566.U0007U0010.Elements.Add((SwiftDefinitionElement) MT566.U0017U0010);
      MT566.U001EU0010 = new SwiftTagSequenceDefinition("SequenceD2a", "Cash Parties");
      MT566.U001EU0010.Mandatory = false;
      MT566.U001EU0010.Multiple = true;
      MT566.U001FU0010 = new SwiftTagDefinition("StartOfBlock_D2a_16R", "Start Of Block");
      MT566.U001FU0010.TagName = ":16R:CSHPRTY";
      MT566.U007FU0010 = new SwiftTagSubItemDefinition("StartOfBlock", "Start Of Block");
      MT566.U007FU0010.Mandatory = false;
      MT566.U001FU0010.Elements.Add((SwiftDefinitionElement) MT566.U007FU0010);
      MT566.U001EU0010.Elements.Add((SwiftDefinitionElement) MT566.U001FU0010);
      MT566.U0080U0010 = new SwiftTagChoiceDefinition("Choice", "");
      MT566.U0080U0010.Multiple = true;
      MT566.U0081U0010 = new SwiftTagDefinition("Party_D2a_95P", "Party");
      MT566.U0081U0010.TagName = ":95P::";
      MT566.U0081U0010.Multiple = true;
      MT566.U0082U0010 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0081U0010.Elements.Add((SwiftDefinitionElement) MT566.U0082U0010);
      MT566.U0083U0010 = new SwiftTagSubItemDefinition("BankIdentifierCode", "Bank Identifier Code");
      MT566.U0081U0010.Elements.Add((SwiftDefinitionElement) MT566.U0083U0010);
      MT566.U0080U0010.Elements.Add((SwiftDefinitionElement) MT566.U0081U0010);
      MT566.U0084U0010 = new SwiftTagDefinition("Party_D2a_95R", "Party");
      MT566.U0084U0010.TagName = ":95R::";
      MT566.U0084U0010.Multiple = true;
      MT566.U0086U0010 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0084U0010.Elements.Add((SwiftDefinitionElement) MT566.U0086U0010);
      MT566.U0087U0010 = new SwiftTagSubItemDefinition("Party", "Party");
      MT566.U0088U0010 = new SwiftTagSubItemDefinition("DataSourceScheme", "Data Source Scheme");
      MT566.U0087U0010.Elements.Add((SwiftDefinitionElement) MT566.U0088U0010);
      MT566.U0089U0010 = new SwiftTagSubItemDefinition("ProprietaryCode", "Proprietary Code");
      MT566.U0087U0010.Elements.Add((SwiftDefinitionElement) MT566.U0089U0010);
      MT566.U0084U0010.Elements.Add((SwiftDefinitionElement) MT566.U0087U0010);
      MT566.U0080U0010.Elements.Add((SwiftDefinitionElement) MT566.U0084U0010);
      MT566.U008AU0010 = new SwiftTagDefinition("Party_D2a_95Q", "Party");
      MT566.U008AU0010.TagName = ":95Q::";
      MT566.U008AU0010.Multiple = true;
      MT566.U008BU0010 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U008AU0010.Elements.Add((SwiftDefinitionElement) MT566.U008BU0010);
      MT566.U008CU0010 = new SwiftTagSubItemDefinition("NameAndAddress_95Q", "Name & Address");
      MT566.U008AU0010.Elements.Add((SwiftDefinitionElement) MT566.U008CU0010);
      MT566.U0080U0010.Elements.Add((SwiftDefinitionElement) MT566.U008AU0010);
      MT566.U008DU0010 = new SwiftTagDefinition("Party_D2a_95S", "Party");
      MT566.U008DU0010.TagName = ":95S::";
      MT566.U008DU0010.Multiple = true;
      MT566.U008EU0010 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U008DU0010.Elements.Add((SwiftDefinitionElement) MT566.U008EU0010);
      MT566.U008FU0010 = new SwiftTagSubItemDefinition("DataSource", "Data Source");
      MT566.U008DU0010.Elements.Add((SwiftDefinitionElement) MT566.U008FU0010);
      MT566.U0090U0010 = new SwiftTagSubItemDefinition("TypeOfID", "Type Of ID");
      MT566.U008DU0010.Elements.Add((SwiftDefinitionElement) MT566.U0090U0010);
      MT566.U0091U0010 = new SwiftTagSubItemDefinition("CountryCode", "Country Code");
      MT566.U008DU0010.Elements.Add((SwiftDefinitionElement) MT566.U0091U0010);
      MT566.U0092U0010 = new SwiftTagSubItemDefinition("AlternateID", "Alternate ID");
      MT566.U008DU0010.Elements.Add((SwiftDefinitionElement) MT566.U0092U0010);
      MT566.U0080U0010.Elements.Add((SwiftDefinitionElement) MT566.U008DU0010);
      MT566.U001EU0010.Elements.Add((SwiftDefinitionElement) MT566.U0080U0010);
      MT566.U0093U0010 = new SwiftTagChoiceDefinition("Choice", "");
      MT566.U0093U0010.Mandatory = false;
      MT566.U0093U0010.Multiple = true;
      MT566.U0094U0010 = new SwiftTagDefinition("Account_D2a_97A", "Cash Account");
      MT566.U0094U0010.TagName = ":97A::";
      MT566.U0094U0010.Mandatory = false;
      MT566.U0095U0010 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0094U0010.Elements.Add((SwiftDefinitionElement) MT566.U0095U0010);
      MT566.U0096U0010 = new SwiftTagSubItemDefinition("AccountNumber", "Account Number");
      MT566.U0094U0010.Elements.Add((SwiftDefinitionElement) MT566.U0096U0010);
      MT566.U0093U0010.Elements.Add((SwiftDefinitionElement) MT566.U0094U0010);
      MT566.U0097U0010 = new SwiftTagDefinition("Account_D2a_97E", "Account");
      MT566.U0097U0010.TagName = ":97E::";
      MT566.U0098U0010 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0097U0010.Elements.Add((SwiftDefinitionElement) MT566.U0098U0010);
      MT566.U0099U0010 = new SwiftTagSubItemDefinition("InternationalBankAccountNumber", "International Bank Account Number");
      MT566.U0097U0010.Elements.Add((SwiftDefinitionElement) MT566.U0099U0010);
      MT566.U0093U0010.Elements.Add((SwiftDefinitionElement) MT566.U0097U0010);
      MT566.U001EU0010.Elements.Add((SwiftDefinitionElement) MT566.U0093U0010);
      MT566.U009AU0010 = new SwiftTagDefinition("Reference_D2a_20C", "Reference");
      MT566.U009AU0010.TagName = ":20C::";
      MT566.U009AU0010.Mandatory = false;
      MT566.U009BU0010 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U009AU0010.Elements.Add((SwiftDefinitionElement) MT566.U009BU0010);
      MT566.U009CU0010 = new SwiftTagSubItemDefinition("Reference", "Reference");
      MT566.U009AU0010.Elements.Add((SwiftDefinitionElement) MT566.U009CU0010);
      MT566.U001EU0010.Elements.Add((SwiftDefinitionElement) MT566.U009AU0010);
      MT566.U009DU0010 = new SwiftTagDefinition("Narrative_D2a_70E", "Narrative");
      MT566.U009DU0010.TagName = ":70E::";
      MT566.U009DU0010.Mandatory = false;
      MT566.U009EU0010 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U009DU0010.Elements.Add((SwiftDefinitionElement) MT566.U009EU0010);
      MT566.U009FU0010 = new SwiftTagSubItemDefinition("Narrative", "Narrative");
      MT566.U009DU0010.Elements.Add((SwiftDefinitionElement) MT566.U009FU0010);
      MT566.U001EU0010.Elements.Add((SwiftDefinitionElement) MT566.U009DU0010);
      MT566.U0001U0011 = new SwiftTagDefinition("EndOfBlock_D2a_16S", "End Of Block");
      MT566.U0001U0011.TagName = ":16S:CSHPRTY";
      MT566.U0002U0011 = new SwiftTagSubItemDefinition("EndOfBlock", "End Of Block");
      MT566.U0002U0011.Mandatory = false;
      MT566.U0001U0011.Elements.Add((SwiftDefinitionElement) MT566.U0002U0011);
      MT566.U001EU0010.Elements.Add((SwiftDefinitionElement) MT566.U0001U0011);
      MT566.U0007U0010.Elements.Add((SwiftDefinitionElement) MT566.U001EU0010);
      MT566.U0003U0011 = new SwiftTagDefinition("Amount_D2_19B", "Amount");
      MT566.U0003U0011.TagName = ":19B::";
      MT566.U0003U0011.Multiple = true;
      MT566.U0004U0011 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0003U0011.Elements.Add((SwiftDefinitionElement) MT566.U0004U0011);
      MT566.U0005U0011 = new SwiftTagSubItemDefinition("Amount", "Amount");
      MT566.U0006U0011 = new SwiftTagSubItemDefinition("CurrencyCode", "Currency Code");
      MT566.U0005U0011.Elements.Add((SwiftDefinitionElement) MT566.U0006U0011);
      MT566.U0007U0011 = new SwiftTagSubItemDefinition("Amount_1", "Amount");
      MT566.U0005U0011.Elements.Add((SwiftDefinitionElement) MT566.U0007U0011);
      MT566.U0003U0011.Elements.Add((SwiftDefinitionElement) MT566.U0005U0011);
      MT566.U0007U0010.Elements.Add((SwiftDefinitionElement) MT566.U0003U0011);
      MT566.U0008U0011 = new SwiftTagChoiceDefinition("Choice", "");
      MT566.U0008U0011.Multiple = true;
      MT566.U000EU0011 = new SwiftTagDefinition("Date_D2_98A", "Payment Date");
      MT566.U000EU0011.TagName = ":98A::";
      MT566.U000EU0011.Multiple = true;
      MT566.U000FU0011 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U000EU0011.Elements.Add((SwiftDefinitionElement) MT566.U000FU0011);
      MT566.U0010U0011 = new SwiftTagSubItemDefinition("Date", "Date");
      MT566.U000EU0011.Elements.Add((SwiftDefinitionElement) MT566.U0010U0011);
      MT566.U0008U0011.Elements.Add((SwiftDefinitionElement) MT566.U000EU0011);
      MT566.U0011U0011 = new SwiftTagDefinition("DateTime_D2_98C", "Payment Date");
      MT566.U0011U0011.TagName = ":98C::";
      MT566.U0011U0011.Multiple = true;
      MT566.U0012U0011 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0011U0011.Elements.Add((SwiftDefinitionElement) MT566.U0012U0011);
      MT566.U0013U0011 = new SwiftTagSubItemDefinition("DateTime", "Payment Date");
      MT566.U0014U0011 = new SwiftTagSubItemDefinition("Date", "Date");
      MT566.U0013U0011.Elements.Add((SwiftDefinitionElement) MT566.U0014U0011);
      MT566.U0015U0011 = new SwiftTagSubItemDefinition("Time", "Time");
      MT566.U0013U0011.Elements.Add((SwiftDefinitionElement) MT566.U0015U0011);
      MT566.U0011U0011.Elements.Add((SwiftDefinitionElement) MT566.U0013U0011);
      MT566.U0008U0011.Elements.Add((SwiftDefinitionElement) MT566.U0011U0011);
      MT566.U0016U0011 = new SwiftTagDefinition("DateTime_D2_98E", "Preparation Date/Time");
      MT566.U0016U0011.TagName = ":98E::";
      MT566.U0016U0011.Multiple = true;
      MT566.U0017U0011 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0016U0011.Elements.Add((SwiftDefinitionElement) MT566.U0017U0011);
      MT566.U0018U0011 = new SwiftTagSubItemDefinition("DateTimeDecimalsAndUTCIndicator", "Preparation Date/Time");
      MT566.U0019U0011 = new SwiftTagSubItemDefinition("DateTimeDecimals", "Preparation Date/Time");
      MT566.U001AU0011 = new SwiftTagSubItemDefinition("DateTime", "Date\\Time");
      MT566.U001BU0011 = new SwiftTagSubItemDefinition("Date", "Date");
      MT566.U001AU0011.Elements.Add((SwiftDefinitionElement) MT566.U001BU0011);
      MT566.U001CU0011 = new SwiftTagSubItemDefinition("Time", "Time");
      MT566.U001AU0011.Elements.Add((SwiftDefinitionElement) MT566.U001CU0011);
      MT566.U0019U0011.Elements.Add((SwiftDefinitionElement) MT566.U001AU0011);
      MT566.U001DU0011 = new SwiftTagSubItemDefinition("Decimals", "Time");
      MT566.U001DU0011.Mandatory = false;
      MT566.U0019U0011.Elements.Add((SwiftDefinitionElement) MT566.U001DU0011);
      MT566.U0018U0011.Elements.Add((SwiftDefinitionElement) MT566.U0019U0011);
      MT566.U001EU0011 = new SwiftTagSubItemDefinition("UTCIndicatorRecord", "Date\\Time");
      MT566.U001EU0011.Mandatory = false;
      MT566.U001FU0011 = new SwiftTagSubItemDefinition("UTCIndicator", "Indicator");
      MT566.U001EU0011.Elements.Add((SwiftDefinitionElement) MT566.U001FU0011);
      MT566.U0018U0011.Elements.Add((SwiftDefinitionElement) MT566.U001EU0011);
      MT566.U0016U0011.Elements.Add((SwiftDefinitionElement) MT566.U0018U0011);
      MT566.U0008U0011.Elements.Add((SwiftDefinitionElement) MT566.U0016U0011);
      MT566.U0007U0010.Elements.Add((SwiftDefinitionElement) MT566.U0008U0011);
      MT566.U007FU0011 = new SwiftTagDefinition("Rate_D2_92B", "Exchange Rate");
      MT566.U007FU0011.TagName = ":92B::";
      MT566.U007FU0011.Mandatory = false;
      MT566.U0080U0011 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U007FU0011.Elements.Add((SwiftDefinitionElement) MT566.U0080U0011);
      MT566.U0081U0011 = new SwiftTagSubItemDefinition("Rate", "Exchange Rate");
      MT566.U0082U0011 = new SwiftTagSubItemDefinition("FirstCurrencyCode", "First Currency Code");
      MT566.U0081U0011.Elements.Add((SwiftDefinitionElement) MT566.U0082U0011);
      MT566.U0083U0011 = new SwiftTagSubItemDefinition("SecondCurrencyCode", "Second Currency Code");
      MT566.U0081U0011.Elements.Add((SwiftDefinitionElement) MT566.U0083U0011);
      MT566.U0084U0011 = new SwiftTagSubItemDefinition("Rate_1", "Rate");
      MT566.U0081U0011.Elements.Add((SwiftDefinitionElement) MT566.U0084U0011);
      MT566.U007FU0011.Elements.Add((SwiftDefinitionElement) MT566.U0081U0011);
      MT566.U0007U0010.Elements.Add((SwiftDefinitionElement) MT566.U007FU0011);
      MT566.U0086U0011 = new SwiftTagChoiceDefinition("Choice", "");
      MT566.U0086U0011.Mandatory = false;
      MT566.U0086U0011.Multiple = true;
      MT566.U0087U0011 = new SwiftTagDefinition("Price_D2_90A", "Price");
      MT566.U0087U0011.TagName = ":90A::";
      MT566.U0088U0011 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0087U0011.Elements.Add((SwiftDefinitionElement) MT566.U0088U0011);
      MT566.U0089U0011 = new SwiftTagSubItemDefinition("Price", "Price");
      MT566.U008AU0011 = new SwiftTagSubItemDefinition("PercentageTypeCode", "Percentage Type Code");
      MT566.U0089U0011.Elements.Add((SwiftDefinitionElement) MT566.U008AU0011);
      MT566.U008BU0011 = new SwiftTagSubItemDefinition("Price_1", "Price");
      MT566.U0089U0011.Elements.Add((SwiftDefinitionElement) MT566.U008BU0011);
      MT566.U0087U0011.Elements.Add((SwiftDefinitionElement) MT566.U0089U0011);
      MT566.U0086U0011.Elements.Add((SwiftDefinitionElement) MT566.U0087U0011);
      MT566.U008CU0011 = new SwiftTagDefinition("Price_D2_90B", "Price");
      MT566.U008CU0011.TagName = ":90B::";
      MT566.U008DU0011 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U008CU0011.Elements.Add((SwiftDefinitionElement) MT566.U008DU0011);
      MT566.U008EU0011 = new SwiftTagSubItemDefinition("Price", "Price");
      MT566.U008FU0011 = new SwiftTagSubItemDefinition("AmountTypeCode", "Amount Type Code");
      MT566.U008EU0011.Elements.Add((SwiftDefinitionElement) MT566.U008FU0011);
      MT566.U0090U0011 = new SwiftTagSubItemDefinition("CurrencyCodeAndPrice", "Currency Code, Price");
      MT566.U0091U0011 = new SwiftTagSubItemDefinition("CurrencyCode", "Currency Code");
      MT566.U0090U0011.Elements.Add((SwiftDefinitionElement) MT566.U0091U0011);
      MT566.U0092U0011 = new SwiftTagSubItemDefinition("Price", "Price");
      MT566.U0090U0011.Elements.Add((SwiftDefinitionElement) MT566.U0092U0011);
      MT566.U008EU0011.Elements.Add((SwiftDefinitionElement) MT566.U0090U0011);
      MT566.U008CU0011.Elements.Add((SwiftDefinitionElement) MT566.U008EU0011);
      MT566.U0086U0011.Elements.Add((SwiftDefinitionElement) MT566.U008CU0011);
      MT566.U0093U0011 = new SwiftTagDefinition("Price_D2_90F", "Price");
      MT566.U0093U0011.TagName = ":90F::";
      MT566.U0093U0011.Mandatory = false;
      MT566.U0094U0011 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0093U0011.Elements.Add((SwiftDefinitionElement) MT566.U0094U0011);
      MT566.U0095U0011 = new SwiftTagSubItemDefinition("Price", "Price");
      MT566.U0096U0011 = new SwiftTagSubItemDefinition("AmountTypeCode", "Amount Type Code");
      MT566.U0095U0011.Elements.Add((SwiftDefinitionElement) MT566.U0096U0011);
      MT566.U0097U0011 = new SwiftTagSubItemDefinition("CurrencyCodeAndAmount", "Currency Code, Amount");
      MT566.U0098U0011 = new SwiftTagSubItemDefinition("CurrencyCode", "Currency Code");
      MT566.U0097U0011.Elements.Add((SwiftDefinitionElement) MT566.U0098U0011);
      MT566.U0099U0011 = new SwiftTagSubItemDefinition("Amount", "Price");
      MT566.U0097U0011.Elements.Add((SwiftDefinitionElement) MT566.U0099U0011);
      MT566.U0095U0011.Elements.Add((SwiftDefinitionElement) MT566.U0097U0011);
      MT566.U009AU0011 = new SwiftTagSubItemDefinition("QuantityTypeCode", "Quantity Type Code");
      MT566.U0095U0011.Elements.Add((SwiftDefinitionElement) MT566.U009AU0011);
      MT566.U009BU0011 = new SwiftTagSubItemDefinition("Quantity", "Quantity");
      MT566.U0095U0011.Elements.Add((SwiftDefinitionElement) MT566.U009BU0011);
      MT566.U0093U0011.Elements.Add((SwiftDefinitionElement) MT566.U0095U0011);
      MT566.U0086U0011.Elements.Add((SwiftDefinitionElement) MT566.U0093U0011);
      MT566.U009CU0011 = new SwiftTagDefinition("Price_D2_90J", "Price");
      MT566.U009CU0011.TagName = ":90J::";
      MT566.U009CU0011.Mandatory = false;
      MT566.U009DU0011 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U009CU0011.Elements.Add((SwiftDefinitionElement) MT566.U009DU0011);
      MT566.U009EU0011 = new SwiftTagSubItemDefinition("Price", "Price");
      MT566.U009FU0011 = new SwiftTagSubItemDefinition("AmountTypeCode", "Amount Type Code");
      MT566.U009EU0011.Elements.Add((SwiftDefinitionElement) MT566.U009FU0011);
      MT566.U0001U0012 = new SwiftTagSubItemDefinition("CurrencyCodeAndAmount1", "Currency Code, Amount");
      MT566.U0002U0012 = new SwiftTagSubItemDefinition("CurrencyCode", "Currency Code");
      MT566.U0001U0012.Elements.Add((SwiftDefinitionElement) MT566.U0002U0012);
      MT566.U0003U0012 = new SwiftTagSubItemDefinition("Amount", "Amount");
      MT566.U0001U0012.Elements.Add((SwiftDefinitionElement) MT566.U0003U0012);
      MT566.U009EU0011.Elements.Add((SwiftDefinitionElement) MT566.U0001U0012);
      MT566.U0004U0012 = new SwiftTagSubItemDefinition("CurrencyCodeAndAmount2", "Currency Code, Amount");
      MT566.U0005U0012 = new SwiftTagSubItemDefinition("CurrencyCode", "Currency Code");
      MT566.U0004U0012.Elements.Add((SwiftDefinitionElement) MT566.U0005U0012);
      MT566.U0006U0012 = new SwiftTagSubItemDefinition("Amount", "Amount");
      MT566.U0004U0012.Elements.Add((SwiftDefinitionElement) MT566.U0006U0012);
      MT566.U009EU0011.Elements.Add((SwiftDefinitionElement) MT566.U0004U0012);
      MT566.U009CU0011.Elements.Add((SwiftDefinitionElement) MT566.U009EU0011);
      MT566.U0086U0011.Elements.Add((SwiftDefinitionElement) MT566.U009CU0011);
      MT566.U0007U0010.Elements.Add((SwiftDefinitionElement) MT566.U0086U0011);
      MT566.U0007U0012 = new SwiftTagSequenceDefinition("SequenceD2b", "Tax Voucher Details");
      MT566.U0007U0012.Mandatory = false;
      MT566.U0008U0012 = new SwiftTagDefinition("StartOfBlock_D2b_16R", "Start Of Block");
      MT566.U0008U0012.TagName = ":16R:TAXVODET";
      MT566.U000EU0012 = new SwiftTagSubItemDefinition("StartOfBlock", "Start Of Block");
      MT566.U000EU0012.Mandatory = false;
      MT566.U0008U0012.Elements.Add((SwiftDefinitionElement) MT566.U000EU0012);
      MT566.U0007U0012.Elements.Add((SwiftDefinitionElement) MT566.U0008U0012);
      MT566.U000FU0012 = new SwiftTagDefinition("Reference_D2b_20C", "Reference");
      MT566.U000FU0012.TagName = ":20C::";
      MT566.U0010U0012 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U000FU0012.Elements.Add((SwiftDefinitionElement) MT566.U0010U0012);
      MT566.U0011U0012 = new SwiftTagSubItemDefinition("Reference", "Reference");
      MT566.U000FU0012.Elements.Add((SwiftDefinitionElement) MT566.U0011U0012);
      MT566.U0007U0012.Elements.Add((SwiftDefinitionElement) MT566.U000FU0012);
      MT566.U0012U0012 = new SwiftTagChoiceDefinition("Choice", "");
      MT566.U0012U0012.Mandatory = false;
      MT566.U0012U0012.Multiple = true;
      MT566.U0013U0012 = new SwiftTagDefinition("Date_D2b_98A", "Payment Date");
      MT566.U0013U0012.TagName = ":98A::";
      MT566.U0013U0012.Multiple = true;
      MT566.U0014U0012 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0013U0012.Elements.Add((SwiftDefinitionElement) MT566.U0014U0012);
      MT566.U0015U0012 = new SwiftTagSubItemDefinition("Date", "Date");
      MT566.U0013U0012.Elements.Add((SwiftDefinitionElement) MT566.U0015U0012);
      MT566.U0012U0012.Elements.Add((SwiftDefinitionElement) MT566.U0013U0012);
      MT566.U0016U0012 = new SwiftTagDefinition("DateTime_D2b_98C", "Payment Date");
      MT566.U0016U0012.TagName = ":98C::";
      MT566.U0016U0012.Multiple = true;
      MT566.U0017U0012 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0016U0012.Elements.Add((SwiftDefinitionElement) MT566.U0017U0012);
      MT566.U0018U0012 = new SwiftTagSubItemDefinition("DateTime", "Payment Date");
      MT566.U0019U0012 = new SwiftTagSubItemDefinition("Date", "Date");
      MT566.U0018U0012.Elements.Add((SwiftDefinitionElement) MT566.U0019U0012);
      MT566.U001AU0012 = new SwiftTagSubItemDefinition("Time", "Time");
      MT566.U0018U0012.Elements.Add((SwiftDefinitionElement) MT566.U001AU0012);
      MT566.U0016U0012.Elements.Add((SwiftDefinitionElement) MT566.U0018U0012);
      MT566.U0012U0012.Elements.Add((SwiftDefinitionElement) MT566.U0016U0012);
      MT566.U0007U0012.Elements.Add((SwiftDefinitionElement) MT566.U0012U0012);
      MT566.U001BU0012 = new SwiftTagDefinition("EndOfBlock_D2b_16S", "End Of Block");
      MT566.U001BU0012.TagName = ":16S:TAXVODET";
      MT566.U001CU0012 = new SwiftTagSubItemDefinition("EndOfBlock", "End Of Block");
      MT566.U001CU0012.Mandatory = false;
      MT566.U001BU0012.Elements.Add((SwiftDefinitionElement) MT566.U001CU0012);
      MT566.U0007U0012.Elements.Add((SwiftDefinitionElement) MT566.U001BU0012);
      MT566.U0007U0010.Elements.Add((SwiftDefinitionElement) MT566.U0007U0012);
      MT566.U001DU0012 = new SwiftTagDefinition("EndOfBlock_D2_16S", "End Of Block");
      MT566.U001DU0012.TagName = ":16S:CASHMOVE";
      MT566.U001EU0012 = new SwiftTagSubItemDefinition("EndOfBlock", "End Of Block");
      MT566.U001EU0012.Mandatory = false;
      MT566.U001DU0012.Elements.Add((SwiftDefinitionElement) MT566.U001EU0012);
      MT566.U0007U0010.Elements.Add((SwiftDefinitionElement) MT566.U001DU0012);
      MT566.U001BU0005.Elements.Add((SwiftDefinitionElement) MT566.U0007U0010);
      MT566.U001FU0012 = new SwiftTagDefinition("EndOfBlock_D_16S", "End Of Block");
      MT566.U001FU0012.TagName = ":16S:CACONF";
      MT566.U007FU0012 = new SwiftTagSubItemDefinition("EndOfBlock", "End Of Block");
      MT566.U007FU0012.Mandatory = false;
      MT566.U001FU0012.Elements.Add((SwiftDefinitionElement) MT566.U007FU0012);
      MT566.U001BU0005.Elements.Add((SwiftDefinitionElement) MT566.U001FU0012);
      MT566.MessageDefinition.Elements.Add((SwiftDefinitionElement) MT566.U001BU0005);
      MT566.U0080U0012 = new SwiftTagSequenceDefinition("SequenceE", "Additional Information");
      MT566.U0080U0012.Mandatory = false;
      MT566.U0081U0012 = new SwiftTagDefinition("StartOfBlock_E_16R", "Start Of Block");
      MT566.U0081U0012.TagName = ":16R:ADDINFO";
      MT566.U0082U0012 = new SwiftTagSubItemDefinition("StartOfBlock", "Start Of Block");
      MT566.U0082U0012.Mandatory = false;
      MT566.U0081U0012.Elements.Add((SwiftDefinitionElement) MT566.U0082U0012);
      MT566.U0080U0012.Elements.Add((SwiftDefinitionElement) MT566.U0081U0012);
      MT566.U0083U0012 = new SwiftTagDefinition("Narrative_E_70E", "Narrative");
      MT566.U0083U0012.TagName = ":70E::";
      MT566.U0083U0012.Mandatory = false;
      MT566.U0083U0012.Multiple = true;
      MT566.U0084U0012 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0083U0012.Elements.Add((SwiftDefinitionElement) MT566.U0084U0012);
      MT566.U0086U0012 = new SwiftTagSubItemDefinition("Narrative", "Narrative");
      MT566.U0083U0012.Elements.Add((SwiftDefinitionElement) MT566.U0086U0012);
      MT566.U0080U0012.Elements.Add((SwiftDefinitionElement) MT566.U0083U0012);
      MT566.U0087U0012 = new SwiftTagChoiceDefinition("Choice", "");
      MT566.U0087U0012.Mandatory = false;
      MT566.U0087U0012.Multiple = true;
      MT566.U0088U0012 = new SwiftTagDefinition("Party_E_95P", "Party");
      MT566.U0088U0012.TagName = ":95P::";
      MT566.U0088U0012.Multiple = true;
      MT566.U0089U0012 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0088U0012.Elements.Add((SwiftDefinitionElement) MT566.U0089U0012);
      MT566.U008AU0012 = new SwiftTagSubItemDefinition("BankIdentifierCode", "Bank Identifier Code");
      MT566.U0088U0012.Elements.Add((SwiftDefinitionElement) MT566.U008AU0012);
      MT566.U0087U0012.Elements.Add((SwiftDefinitionElement) MT566.U0088U0012);
      MT566.U008BU0012 = new SwiftTagDefinition("Party_E_95R", "Party");
      MT566.U008BU0012.TagName = ":95R::";
      MT566.U008BU0012.Multiple = true;
      MT566.U008CU0012 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U008BU0012.Elements.Add((SwiftDefinitionElement) MT566.U008CU0012);
      MT566.U008DU0012 = new SwiftTagSubItemDefinition("Party", "Party");
      MT566.U008EU0012 = new SwiftTagSubItemDefinition("DataSourceScheme", "Data Source Scheme");
      MT566.U008DU0012.Elements.Add((SwiftDefinitionElement) MT566.U008EU0012);
      MT566.U008FU0012 = new SwiftTagSubItemDefinition("ProprietaryCode", "Proprietary Code");
      MT566.U008DU0012.Elements.Add((SwiftDefinitionElement) MT566.U008FU0012);
      MT566.U008BU0012.Elements.Add((SwiftDefinitionElement) MT566.U008DU0012);
      MT566.U0087U0012.Elements.Add((SwiftDefinitionElement) MT566.U008BU0012);
      MT566.U0090U0012 = new SwiftTagDefinition("Party_E_95Q", "Party");
      MT566.U0090U0012.TagName = ":95Q::";
      MT566.U0090U0012.Multiple = true;
      MT566.U0091U0012 = new SwiftTagSubItemDefinition("Qualifier", "Qualifier");
      MT566.U0090U0012.Elements.Add((SwiftDefinitionElement) MT566.U0091U0012);
      MT566.U0092U0012 = new SwiftTagSubItemDefinition("NameAndAddress_95Q", "Name & Address");
      MT566.U0090U0012.Elements.Add((SwiftDefinitionElement) MT566.U0092U0012);
      MT566.U0087U0012.Elements.Add((SwiftDefinitionElement) MT566.U0090U0012);
      MT566.U0080U0012.Elements.Add((SwiftDefinitionElement) MT566.U0087U0012);
      MT566.U0093U0012 = new SwiftTagDefinition("EndOfBlock_E_16S", "End Of Block");
      MT566.U0093U0012.TagName = ":16S:ADDINFO";
      MT566.U0094U0012 = new SwiftTagSubItemDefinition("EndOfBlock", "End Of Block");
      MT566.U0094U0012.Mandatory = false;
      MT566.U0093U0012.Elements.Add((SwiftDefinitionElement) MT566.U0094U0012);
      MT566.U0080U0012.Elements.Add((SwiftDefinitionElement) MT566.U0093U0012);
      MT566.MessageDefinition.Elements.Add((SwiftDefinitionElement) MT566.U0080U0012);
    }

    public class SequenceAClass : SwiftTagSequence
    {
      internal override SwiftDefinitionElement Definition
      {
        get
        {
          return (SwiftDefinitionElement) MT566.U0002;
        }
      }

      [Description("Start Of Block")]
      public Tag16R StartOfBlock_A_16R
      {
        get
        {
          return new Tag16R((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U0003);
        }
      }

      [Description("Start Of Block")]
      public Tag16R Tag16R_StartOfBlock_A
      {
        get
        {
          return this.StartOfBlock_A_16R;
        }
      }

      [Description("Reference")]
      public Tag20C[] Reference_A_20C
      {
        get
        {
          int index = -1;
          List<Tag20C> list = new List<Tag20C>();
          int count;
          do
          {
            ++index;
            Tag20C tag20C = new Tag20C((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U0005);
            count = this.ListTags((SwiftElement) tag20C).Count;
            if (count > 0)
              list.Add(tag20C);
          }
          while (count > 0);
          return list.ToArray();
        }
      }

      [Description("Reference")]
      public Tag20C[] Tag20C_Reference_A
      {
        get
        {
          return this.Reference_A_20C;
        }
      }

      [Description("Function of the Message")]
      public Tag23G FunctionOfTheMessage_A_23G
      {
        get
        {
          return new Tag23G((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U0008);
        }
      }

      [Description("Function of the Message")]
      public Tag23G Tag23G_FunctionOfTheMessage_A
      {
        get
        {
          return this.FunctionOfTheMessage_A_23G;
        }
      }

      [Description("Corporate Action Event Indicator")]
      public Tag22F Indicator_A_22F
      {
        get
        {
          return new Tag22F((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U0011);
        }
      }

      [Description("Corporate Action Event Indicator")]
      public Tag22F Tag22F_Indicator_A
      {
        get
        {
          return this.Indicator_A_22F;
        }
      }

      [Description("Preparation Date")]
      public Tag98A Date_A_98A
      {
        get
        {
          return new Tag98A((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U0016);
        }
      }

      [Description("Preparation Date")]
      public Tag98A Tag98A_Date_A
      {
        get
        {
          return this.Date_A_98A;
        }
      }

      [Description("Preparation Date/Time")]
      public Tag98C DateTime_A_98C
      {
        get
        {
          return new Tag98C((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U0019);
        }
      }

      [Description("Preparation Date/Time")]
      public Tag98C Tag98C_DateTime_A
      {
        get
        {
          return this.DateTime_A_98C;
        }
      }

      [Description("Linkages")]
      public MT566.SequenceAClass.SequenceA1Class[] SequenceA1
      {
        get
        {
          int index = -1;
          List<MT566.SequenceAClass.SequenceA1Class> list = new List<MT566.SequenceAClass.SequenceA1Class>();
          int count;
          do
          {
            ++index;
            MT566.SequenceAClass.SequenceA1Class sequenceA1Class = new MT566.SequenceAClass.SequenceA1Class((SwiftElement) this, index, false);
            count = this.ListTags((SwiftElement) sequenceA1Class).Count;
            if (count > 0)
              list.Add(sequenceA1Class);
          }
          while (count > 0);
          return list.ToArray();
        }
      }

      [Description("End Of Block")]
      public Tag16S EndOfBlock_A_16S
      {
        get
        {
          return new Tag16S((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U0092);
        }
      }

      [Description("End Of Block")]
      public Tag16S Tag16S_EndOfBlock_A
      {
        get
        {
          return this.EndOfBlock_A_16S;
        }
      }

      internal SequenceAClass(SwiftElement parent, int index, bool createTags)
        : base(parent, index, createTags)
      {
      }

      public Tag20C AddReference_A_20C()
      {
        return new Tag20C((SwiftElement) this, this.Reference_A_20C.Length, (SwiftDefinitionElement) MT566.U0005)
        {
          Value = string.Empty
        };
      }

      public void RemoveReference_A_20C(Tag20C tag)
      {
        this.RemoveTag(tag.GetTag());
      }

      public MT566.SequenceAClass.SequenceA1Class AddSequenceA1()
      {
        return new MT566.SequenceAClass.SequenceA1Class((SwiftElement) this, this.SequenceA1.Length, true);
      }

      public void RemoveSequenceA1(MT566.SequenceAClass.SequenceA1Class sequence)
      {
        foreach (SwiftTag tag in this.ListTags((SwiftElement) sequence))
          this.RemoveTag(tag);
      }

      public class SequenceA1Class : SwiftTagSequence
      {
        internal override SwiftDefinitionElement Definition
        {
          get
          {
            return (SwiftDefinitionElement) MT566.U001E;
          }
        }

        [Description("Start Of Block")]
        public Tag16R StartOfBlock_A1_16R
        {
          get
          {
            return new Tag16R((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U001F);
          }
        }

        [Description("Start Of Block")]
        public Tag16R Tag16R_StartOfBlock_A1
        {
          get
          {
            return this.StartOfBlock_A1_16R;
          }
        }

        [Description("Linkage Type Indicator")]
        public Tag22F Indicator_A1_22F
        {
          get
          {
            return new Tag22F((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U0080);
          }
        }

        [Description("Linkage Type Indicator")]
        public Tag22F Tag22F_Indicator_A1
        {
          get
          {
            return this.Indicator_A1_22F;
          }
        }

        [Description("Linked Message")]
        public Tag13A NumberIdentification_A1_13A
        {
          get
          {
            return new Tag13A((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U0086);
          }
        }

        [Description("Linked Message")]
        public Tag13A Tag13A_NumberIdentification_A1
        {
          get
          {
            return this.NumberIdentification_A1_13A;
          }
        }

        [Description("Linked Message")]
        public Tag13B NumberIdentification_A1_13B
        {
          get
          {
            return new Tag13B((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U0089);
          }
        }

        [Description("Linked Message")]
        public Tag13B Tag13B_NumberIdentification_A1
        {
          get
          {
            return this.NumberIdentification_A1_13B;
          }
        }

        [Description("Reference")]
        public Tag20C Reference_A1_20C
        {
          get
          {
            return new Tag20C((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U008D);
          }
        }

        [Description("Reference")]
        public Tag20C Tag20C_Reference_A1
        {
          get
          {
            return this.Reference_A1_20C;
          }
        }

        [Description("End Of Block")]
        public Tag16S EndOfBlock_A1_16S
        {
          get
          {
            return new Tag16S((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U0090);
          }
        }

        [Description("End Of Block")]
        public Tag16S Tag16S_EndOfBlock_A1
        {
          get
          {
            return this.EndOfBlock_A1_16S;
          }
        }

        internal SequenceA1Class(SwiftElement parent, int index, bool createTags)
          : base(parent, index, createTags)
        {
        }
      }
    }

    public class SequenceBClass : SwiftTagSequence
    {
      internal override SwiftDefinitionElement Definition
      {
        get
        {
          return (SwiftDefinitionElement) MT566.U0094;
        }
      }

      [Description("Start Of Block")]
      public Tag16R StartOfBlock_B_16R
      {
        get
        {
          return new Tag16R((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U0095);
        }
      }

      [Description("Start Of Block")]
      public Tag16R Tag16R_StartOfBlock_B
      {
        get
        {
          return this.StartOfBlock_B_16R;
        }
      }

      [Description("Party")]
      public Tag95P Party_B_95P
      {
        get
        {
          return new Tag95P((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U0098);
        }
      }

      [Description("Party")]
      public Tag95P Tag95P_Party_B
      {
        get
        {
          return this.Party_B_95P;
        }
      }

      [Description("Party")]
      public Tag95R Party_B_95R
      {
        get
        {
          return new Tag95R((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U009B);
        }
      }

      [Description("Party")]
      public Tag95R Tag95R_Party_B
      {
        get
        {
          return this.Party_B_95R;
        }
      }

      [Description("Safekeeping Account")]
      public Tag97A Account_B_97A
      {
        get
        {
          return new Tag97A((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U009F);
        }
      }

      [Description("Safekeeping Account")]
      public Tag97A Tag97A_Account_B
      {
        get
        {
          return this.Account_B_97A;
        }
      }

      [Description("Place Of Safe Keeping")]
      public MT566.SequenceBClass.Tag94B Place_B_94B
      {
        get
        {
          return new MT566.SequenceBClass.Tag94B((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U0004U0002);
        }
      }

      [Description("Place Of Safe Keeping")]
      public MT566.SequenceBClass.Tag94B Tag94B_Place_B
      {
        get
        {
          return this.Place_B_94B;
        }
      }

      [Description("Place of Safekeeping")]
      public Tag94C Place_B_94C
      {
        get
        {
          return new Tag94C((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U000FU0002);
        }
      }

      [Description("Place of Safekeeping")]
      public Tag94C Tag94C_Place_B
      {
        get
        {
          return this.Place_B_94C;
        }
      }

      [Description("Place Of Safe Keeping")]
      public Tag94F Place_B_94F
      {
        get
        {
          return new Tag94F((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U0012U0002);
        }
      }

      [Description("Place Of Safe Keeping")]
      public Tag94F Tag94F_Place_B
      {
        get
        {
          return this.Place_B_94F;
        }
      }

      [Description("Identification of the Financial Instrument")]
      public Tag35B IdentificationOfFinancialInstrument_B_35B
      {
        get
        {
          return new Tag35B((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U0017U0002);
        }
      }

      [Description("Identification of the Financial Instrument")]
      public Tag35B Tag35B_IdentificationOfFinancialInstrument_B
      {
        get
        {
          return this.IdentificationOfFinancialInstrument_B_35B;
        }
      }

      [Description("Financial Instrument Attributes")]
      public MT566.SequenceBClass.SequenceB1Class SequenceB1
      {
        get
        {
          MT566.SequenceBClass.SequenceB1Class sequenceB1Class = new MT566.SequenceBClass.SequenceB1Class((SwiftElement) this, 0, false);
          if (this.ListTags((SwiftElement) sequenceB1Class).Count > 0)
            return sequenceB1Class;
          else
            return (MT566.SequenceBClass.SequenceB1Class) null;
        }
      }

      [Description("Balance")]
      public Tag93B[] Balance_B_93B
      {
        get
        {
          int index = -1;
          List<Tag93B> list = new List<Tag93B>();
          int count;
          do
          {
            ++index;
            Tag93B tag93B = new Tag93B((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U0002U0003);
            count = this.ListTags((SwiftElement) tag93B).Count;
            if (count > 0)
              list.Add(tag93B);
          }
          while (count > 0);
          return list.ToArray();
        }
      }

      [Description("Balance")]
      public Tag93B[] Tag93B_Balance_B
      {
        get
        {
          return this.Balance_B_93B;
        }
      }

      [Description("Balance")]
      public Tag93C[] Balance_B_93C
      {
        get
        {
          int index = -1;
          List<Tag93C> list = new List<Tag93C>();
          int count;
          do
          {
            ++index;
            Tag93C tag93C = new Tag93C((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U0007U0003);
            count = this.ListTags((SwiftElement) tag93C).Count;
            if (count > 0)
              list.Add(tag93C);
          }
          while (count > 0);
          return list.ToArray();
        }
      }

      [Description("Balance")]
      public Tag93C[] Tag93C_Balance_B
      {
        get
        {
          return this.Balance_B_93C;
        }
      }

      [Description("End Of Block")]
      public Tag16S EndOfBlock_B_16S
      {
        get
        {
          return new Tag16S((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U0012U0003);
        }
      }

      [Description("End Of Block")]
      public Tag16S Tag16S_EndOfBlock_B
      {
        get
        {
          return this.EndOfBlock_B_16S;
        }
      }

      internal SequenceBClass(SwiftElement parent, int index, bool createTags)
        : base(parent, index, createTags)
      {
      }

      public MT566.SequenceBClass.SequenceB1Class AddSequenceB1()
      {
        return this.SequenceB1 ?? new MT566.SequenceBClass.SequenceB1Class((SwiftElement) this, 0, true);
      }

      public void RemoveSequenceB1(MT566.SequenceBClass.SequenceB1Class sequence)
      {
        foreach (SwiftTag tag in this.ListTags((SwiftElement) sequence))
          this.RemoveTag(tag);
      }

      public Tag93B AddBalance_B_93B()
      {
        return new Tag93B((SwiftElement) this, this.Balance_B_93B.Length, (SwiftDefinitionElement) MT566.U0002U0003)
        {
          Value = string.Empty
        };
      }

      public void RemoveBalance_B_93B(Tag93B tag)
      {
        this.RemoveTag(tag.GetTag());
      }

      public Tag93C AddBalance_B_93C()
      {
        return new Tag93C((SwiftElement) this, this.Balance_B_93C.Length, (SwiftDefinitionElement) MT566.U0007U0003)
        {
          Value = string.Empty
        };
      }

      public void RemoveBalance_B_93C(Tag93C tag)
      {
        this.RemoveTag(tag.GetTag());
      }

      public class Tag94B : SwiftTagWrapper
      {
        public string Value
        {
          get
          {
            return this.GetValue();
          }
          set
          {
            this.SetValue("94B", value);
          }
        }

        internal Tag94B(SwiftElement parent, int index, SwiftDefinitionElement definition)
          : base(parent, index, definition)
        {
        }
      }

      public class SequenceB1Class : SwiftTagSequence
      {
        internal override SwiftDefinitionElement Definition
        {
          get
          {
            return (SwiftDefinitionElement) MT566.U001BU0002;
          }
        }

        [Description("Start Of Block")]
        public Tag16R StartOfBlock_B1_16R
        {
          get
          {
            return new Tag16R((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U001CU0002);
          }
        }

        [Description("Start Of Block")]
        public Tag16R Tag16R_StartOfBlock_B1
        {
          get
          {
            return this.StartOfBlock_B1_16R;
          }
        }

        [Description("Place of Listing")]
        public MT566.SequenceBClass.SequenceB1Class.Tag94B Place_B1_94B
        {
          get
          {
            return new MT566.SequenceBClass.SequenceB1Class.Tag94B((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U001EU0002);
          }
        }

        [Description("Place of Listing")]
        public MT566.SequenceBClass.SequenceB1Class.Tag94B Tag94B_Place_B1
        {
          get
          {
            return this.Place_B1_94B;
          }
        }

        [Description("Corporate Action Event Indicator")]
        public Tag22F Indicator_B1_22F
        {
          get
          {
            return new Tag22F((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U0083U0002);
          }
        }

        [Description("Corporate Action Event Indicator")]
        public Tag22F Tag22F_Indicator_B1
        {
          get
          {
            return this.Indicator_B1_22F;
          }
        }

        [Description("Classification Type")]
        public Tag12A TypeOfFinancialInstrument_B1_12A
        {
          get
          {
            return new Tag12A((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U0089U0002);
          }
        }

        [Description("Classification Type")]
        public Tag12A Tag12A_TypeOfFinancialInstrument_B1
        {
          get
          {
            return this.TypeOfFinancialInstrument_B1_12A;
          }
        }

        [Description("Classification Type")]
        public Tag12C TypeOfFinancialInstrument_B1_12C
        {
          get
          {
            return new Tag12C((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U008DU0002);
          }
        }

        [Description("Classification Type")]
        public Tag12C Tag12C_TypeOfFinancialInstrument_B1
        {
          get
          {
            return this.TypeOfFinancialInstrument_B1_12C;
          }
        }

        [Description("Currency of Denomination")]
        public Tag11A Currency_B1_11A
        {
          get
          {
            return new Tag11A((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U0090U0002);
          }
        }

        [Description("Currency of Denomination")]
        public Tag11A Tag11A_Currency_B1
        {
          get
          {
            return this.Currency_B1_11A;
          }
        }

        [Description("Date/Time")]
        public Tag98A[] Date_B1_98A
        {
          get
          {
            int index = -1;
            List<Tag98A> list = new List<Tag98A>();
            int count;
            do
            {
              ++index;
              Tag98A tag98A = new Tag98A((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U0093U0002);
              count = this.ListTags((SwiftElement) tag98A).Count;
              if (count > 0)
                list.Add(tag98A);
            }
            while (count > 0);
            return list.ToArray();
          }
        }

        [Description("Date/Time")]
        public Tag98A[] Tag98A_Date_B1
        {
          get
          {
            return this.Date_B1_98A;
          }
        }

        [Description("Rate")]
        public Tag92A[] Rate_B1_92A
        {
          get
          {
            int index = -1;
            List<Tag92A> list = new List<Tag92A>();
            int count;
            do
            {
              ++index;
              Tag92A tag92A = new Tag92A((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U0096U0002);
              count = this.ListTags((SwiftElement) tag92A).Count;
              if (count > 0)
                list.Add(tag92A);
            }
            while (count > 0);
            return list.ToArray();
          }
        }

        [Description("Rate")]
        public Tag92A[] Tag92A_Rate_B1
        {
          get
          {
            return this.Rate_B1_92A;
          }
        }

        [Description("Quantity of Financial Instrument")]
        public Tag36B[] QuantityOfFinancialInstrument_B1_36B
        {
          get
          {
            int index = -1;
            List<Tag36B> list = new List<Tag36B>();
            int count;
            do
            {
              ++index;
              Tag36B tag36B = new Tag36B((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U0099U0002);
              count = this.ListTags((SwiftElement) tag36B).Count;
              if (count > 0)
                list.Add(tag36B);
            }
            while (count > 0);
            return list.ToArray();
          }
        }

        [Description("Quantity of Financial Instrument")]
        public Tag36B[] Tag36B_QuantityOfFinancialInstrument_B1
        {
          get
          {
            return this.QuantityOfFinancialInstrument_B1_36B;
          }
        }

        [Description("End Of Block")]
        public Tag16S EndOfBlock_B1_16S
        {
          get
          {
            return new Tag16S((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U009EU0002);
          }
        }

        [Description("End Of Block")]
        public Tag16S Tag16S_EndOfBlock_B1
        {
          get
          {
            return this.EndOfBlock_B1_16S;
          }
        }

        internal SequenceB1Class(SwiftElement parent, int index, bool createTags)
          : base(parent, index, createTags)
        {
        }

        public Tag98A AddDate_B1_98A()
        {
          return new Tag98A((SwiftElement) this, this.Date_B1_98A.Length, (SwiftDefinitionElement) MT566.U0093U0002)
          {
            Value = string.Empty
          };
        }

        public void RemoveDate_B1_98A(Tag98A tag)
        {
          this.RemoveTag(tag.GetTag());
        }

        public Tag92A AddRate_B1_92A()
        {
          return new Tag92A((SwiftElement) this, this.Rate_B1_92A.Length, (SwiftDefinitionElement) MT566.U0096U0002)
          {
            Value = string.Empty
          };
        }

        public void RemoveRate_B1_92A(Tag92A tag)
        {
          this.RemoveTag(tag.GetTag());
        }

        public Tag36B AddQuantityOfFinancialInstrument_B1_36B()
        {
          return new Tag36B((SwiftElement) this, this.QuantityOfFinancialInstrument_B1_36B.Length, (SwiftDefinitionElement) MT566.U0099U0002)
          {
            Value = string.Empty
          };
        }

        public void RemoveQuantityOfFinancialInstrument_B1_36B(Tag36B tag)
        {
          this.RemoveTag(tag.GetTag());
        }

        public class Tag94B : SwiftTagWrapper
        {
          public string Value
          {
            get
            {
              return this.GetValue();
            }
            set
            {
              this.SetValue("94B", value);
            }
          }

          internal Tag94B(SwiftElement parent, int index, SwiftDefinitionElement definition)
            : base(parent, index, definition)
          {
          }
        }
      }
    }

    public class SequenceCClass : SwiftTagSequence
    {
      internal override SwiftDefinitionElement Definition
      {
        get
        {
          return (SwiftDefinitionElement) MT566.U0014U0003;
        }
      }

      [Description("Start Of Block")]
      public Tag16R StartOfBlock_C_16R
      {
        get
        {
          return new Tag16R((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U0015U0003);
        }
      }

      [Description("Start Of Block")]
      public Tag16R Tag16R_StartOfBlock_C
      {
        get
        {
          return this.StartOfBlock_C_16R;
        }
      }

      [Description("Date")]
      public Tag98A[] Date_C_98A
      {
        get
        {
          int index = -1;
          List<Tag98A> list = new List<Tag98A>();
          int count;
          do
          {
            ++index;
            Tag98A tag98A = new Tag98A((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U0018U0003);
            count = this.ListTags((SwiftElement) tag98A).Count;
            if (count > 0)
              list.Add(tag98A);
          }
          while (count > 0);
          return list.ToArray();
        }
      }

      [Description("Date")]
      public Tag98A[] Tag98A_Date_C
      {
        get
        {
          return this.Date_C_98A;
        }
      }

      [Description("Date Code")]
      public Tag98B[] DateCode_C_98B
      {
        get
        {
          int index = -1;
          List<Tag98B> list = new List<Tag98B>();
          int count;
          do
          {
            ++index;
            Tag98B tag98B = new Tag98B((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U001BU0003);
            count = this.ListTags((SwiftElement) tag98B).Count;
            if (count > 0)
              list.Add(tag98B);
          }
          while (count > 0);
          return list.ToArray();
        }
      }

      [Description("Date Code")]
      public Tag98B[] Tag98B_DateCode_C
      {
        get
        {
          return this.DateCode_C_98B;
        }
      }

      [Description("Date/Time")]
      public Tag98C[] DateTime_C_98C
      {
        get
        {
          int index = -1;
          List<Tag98C> list = new List<Tag98C>();
          int count;
          do
          {
            ++index;
            Tag98C tag98C = new Tag98C((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U001FU0003);
            count = this.ListTags((SwiftElement) tag98C).Count;
            if (count > 0)
              list.Add(tag98C);
          }
          while (count > 0);
          return list.ToArray();
        }
      }

      [Description("Date/Time")]
      public Tag98C[] Tag98C_DateTime_C
      {
        get
        {
          return this.DateTime_C_98C;
        }
      }

      [Description("Preparation Date/Time")]
      public Tag98E[] DateTime_C_98E
      {
        get
        {
          int index = -1;
          List<Tag98E> list = new List<Tag98E>();
          int count;
          do
          {
            ++index;
            Tag98E tag98E = new Tag98E((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U0083U0003);
            count = this.ListTags((SwiftElement) tag98E).Count;
            if (count > 0)
              list.Add(tag98E);
          }
          while (count > 0);
          return list.ToArray();
        }
      }

      [Description("Preparation Date/Time")]
      public Tag98E[] Tag98E_DateTime_C
      {
        get
        {
          return this.DateTime_C_98E;
        }
      }

      [Description("Period")]
      public Tag69A[] Period_C_69A
      {
        get
        {
          int index = -1;
          List<Tag69A> list = new List<Tag69A>();
          int count;
          do
          {
            ++index;
            Tag69A tag69A = new Tag69A((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U008FU0003);
            count = this.ListTags((SwiftElement) tag69A).Count;
            if (count > 0)
              list.Add(tag69A);
          }
          while (count > 0);
          return list.ToArray();
        }
      }

      [Description("Period")]
      public Tag69A[] Tag69A_Period_C
      {
        get
        {
          return this.Period_C_69A;
        }
      }

      [Description("Period")]
      public Tag69B[] Period_C_69B
      {
        get
        {
          int index = -1;
          List<Tag69B> list = new List<Tag69B>();
          int count;
          do
          {
            ++index;
            Tag69B tag69B = new Tag69B((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U0094U0003);
            count = this.ListTags((SwiftElement) tag69B).Count;
            if (count > 0)
              list.Add(tag69B);
          }
          while (count > 0);
          return list.ToArray();
        }
      }

      [Description("Period")]
      public Tag69B[] Tag69B_Period_C
      {
        get
        {
          return this.Period_C_69B;
        }
      }

      [Description("Period")]
      public Tag69C[] Period_C_69C
      {
        get
        {
          int index = -1;
          List<Tag69C> list = new List<Tag69C>();
          int count;
          do
          {
            ++index;
            Tag69C tag69C = new Tag69C((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U009DU0003);
            count = this.ListTags((SwiftElement) tag69C).Count;
            if (count > 0)
              list.Add(tag69C);
          }
          while (count > 0);
          return list.ToArray();
        }
      }

      [Description("Period")]
      public Tag69C[] Tag69C_Period_C
      {
        get
        {
          return this.Period_C_69C;
        }
      }

      [Description("Period")]
      public Tag69D[] Period_C_69D
      {
        get
        {
          int index = -1;
          List<Tag69D> list = new List<Tag69D>();
          int count;
          do
          {
            ++index;
            Tag69D tag69D = new Tag69D((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U0003U0004);
            count = this.ListTags((SwiftElement) tag69D).Count;
            if (count > 0)
              list.Add(tag69D);
          }
          while (count > 0);
          return list.ToArray();
        }
      }

      [Description("Period")]
      public Tag69D[] Tag69D_Period_C
      {
        get
        {
          return this.Period_C_69D;
        }
      }

      [Description("Period")]
      public Tag69E[] Period_C_69E
      {
        get
        {
          int index = -1;
          List<Tag69E> list = new List<Tag69E>();
          int count;
          do
          {
            ++index;
            Tag69E tag69E = new Tag69E((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U000FU0004);
            count = this.ListTags((SwiftElement) tag69E).Count;
            if (count > 0)
              list.Add(tag69E);
          }
          while (count > 0);
          return list.ToArray();
        }
      }

      [Description("Period")]
      public Tag69E[] Tag69E_Period_C
      {
        get
        {
          return this.Period_C_69E;
        }
      }

      [Description("Period")]
      public Tag69F[] Period_C_69F
      {
        get
        {
          int index = -1;
          List<Tag69F> list = new List<Tag69F>();
          int count;
          do
          {
            ++index;
            Tag69F tag69F = new Tag69F((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U0014U0004);
            count = this.ListTags((SwiftElement) tag69F).Count;
            if (count > 0)
              list.Add(tag69F);
          }
          while (count > 0);
          return list.ToArray();
        }
      }

      [Description("Period")]
      public Tag69F[] Tag69F_Period_C
      {
        get
        {
          return this.Period_C_69F;
        }
      }

      [Description("Number Count")]
      public Tag99A NumberCount_D_99A
      {
        get
        {
          return new Tag99A((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U001BU0004);
        }
      }

      [Description("Number Count")]
      public Tag99A Tag99A_NumberCount_D
      {
        get
        {
          return this.NumberCount_D_99A;
        }
      }

      [Description("Rate")]
      public Tag92A[] Rate_C_92A
      {
        get
        {
          int index = -1;
          List<Tag92A> list = new List<Tag92A>();
          int count;
          do
          {
            ++index;
            Tag92A tag92A = new Tag92A((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U001FU0004);
            count = this.ListTags((SwiftElement) tag92A).Count;
            if (count > 0)
              list.Add(tag92A);
          }
          while (count > 0);
          return list.ToArray();
        }
      }

      [Description("Rate")]
      public Tag92A[] Tag92A_Rate_C
      {
        get
        {
          return this.Rate_C_92A;
        }
      }

      [Description("Rate")]
      public Tag92F[] Rate_C_92F
      {
        get
        {
          int index = -1;
          List<Tag92F> list = new List<Tag92F>();
          int count;
          do
          {
            ++index;
            Tag92F tag92F = new Tag92F((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U0081U0004);
            count = this.ListTags((SwiftElement) tag92F).Count;
            if (count > 0)
              list.Add(tag92F);
          }
          while (count > 0);
          return list.ToArray();
        }
      }

      [Description("Rate")]
      public Tag92F[] Tag92F_Rate_C
      {
        get
        {
          return this.Rate_C_92F;
        }
      }

      [Description("Rate")]
      public MT566.SequenceCClass.Tag92K[] Rate_C_92K
      {
        get
        {
          int index = -1;
          List<MT566.SequenceCClass.Tag92K> list = new List<MT566.SequenceCClass.Tag92K>();
          int count;
          do
          {
            ++index;
            MT566.SequenceCClass.Tag92K tag92K = new MT566.SequenceCClass.Tag92K((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U0087U0004);
            count = this.ListTags((SwiftElement) tag92K).Count;
            if (count > 0)
              list.Add(tag92K);
          }
          while (count > 0);
          return list.ToArray();
        }
      }

      [Description("Rate")]
      public MT566.SequenceCClass.Tag92K[] Tag92K_Rate_C
      {
        get
        {
          return this.Rate_C_92K;
        }
      }

      [Description("Price")]
      public Tag90A[] Price_C_90A
      {
        get
        {
          int index = -1;
          List<Tag90A> list = new List<Tag90A>();
          int count;
          do
          {
            ++index;
            Tag90A tag90A = new Tag90A((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U008CU0004);
            count = this.ListTags((SwiftElement) tag90A).Count;
            if (count > 0)
              list.Add(tag90A);
          }
          while (count > 0);
          return list.ToArray();
        }
      }

      [Description("Price")]
      public Tag90A[] Tag90A_Price_C
      {
        get
        {
          return this.Price_C_90A;
        }
      }

      [Description("Price")]
      public Tag90B[] Price_C_90B
      {
        get
        {
          int index = -1;
          List<Tag90B> list = new List<Tag90B>();
          int count;
          do
          {
            ++index;
            Tag90B tag90B = new Tag90B((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U0091U0004);
            count = this.ListTags((SwiftElement) tag90B).Count;
            if (count > 0)
              list.Add(tag90B);
          }
          while (count > 0);
          return list.ToArray();
        }
      }

      [Description("Price")]
      public Tag90B[] Tag90B_Price_C
      {
        get
        {
          return this.Price_C_90B;
        }
      }

      [Description("Quantity of Financial Instrument")]
      public Tag36B[] QuantityOfFinancialInstrument_C_36B
      {
        get
        {
          int index = -1;
          List<Tag36B> list = new List<Tag36B>();
          int count;
          do
          {
            ++index;
            Tag36B tag36B = new Tag36B((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U0099U0004);
            count = this.ListTags((SwiftElement) tag36B).Count;
            if (count > 0)
              list.Add(tag36B);
          }
          while (count > 0);
          return list.ToArray();
        }
      }

      [Description("Quantity of Financial Instrument")]
      public Tag36B[] Tag36B_QuantityOfFinancialInstrument_C
      {
        get
        {
          return this.QuantityOfFinancialInstrument_C_36B;
        }
      }

      [Description("Quantity of Financial Instrument")]
      public Tag36C[] QuantityOfFinancialInstrument_C_36C
      {
        get
        {
          int index = -1;
          List<Tag36C> list = new List<Tag36C>();
          int count;
          do
          {
            ++index;
            Tag36C tag36C = new Tag36C((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U009EU0004);
            count = this.ListTags((SwiftElement) tag36C).Count;
            if (count > 0)
              list.Add(tag36C);
          }
          while (count > 0);
          return list.ToArray();
        }
      }

      [Description("Quantity of Financial Instrument")]
      public Tag36C[] Tag36C_QuantityOfFinancialInstrument_C
      {
        get
        {
          return this.QuantityOfFinancialInstrument_C_36C;
        }
      }

      [Description("Linked Message")]
      public Tag13A[] NumberIdentification_C_13A
      {
        get
        {
          int index = -1;
          List<Tag13A> list = new List<Tag13A>();
          int count;
          do
          {
            ++index;
            Tag13A tag13A = new Tag13A((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U0003U0005);
            count = this.ListTags((SwiftElement) tag13A).Count;
            if (count > 0)
              list.Add(tag13A);
          }
          while (count > 0);
          return list.ToArray();
        }
      }

      [Description("Linked Message")]
      public Tag13A[] Tag13A_NumberIdentification_C
      {
        get
        {
          return this.NumberIdentification_C_13A;
        }
      }

      [Description("Linked Message")]
      public Tag13B[] NumberIdentification_C_13B
      {
        get
        {
          int index = -1;
          List<Tag13B> list = new List<Tag13B>();
          int count;
          do
          {
            ++index;
            Tag13B tag13B = new Tag13B((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U0006U0005);
            count = this.ListTags((SwiftElement) tag13B).Count;
            if (count > 0)
              list.Add(tag13B);
          }
          while (count > 0);
          return list.ToArray();
        }
      }

      [Description("Linked Message")]
      public Tag13B[] Tag13B_NumberIdentification_C
      {
        get
        {
          return this.NumberIdentification_C_13B;
        }
      }

      [Description("Flag")]
      public Tag17B[] Flag_C_17B
      {
        get
        {
          int index = -1;
          List<Tag17B> list = new List<Tag17B>();
          int count;
          do
          {
            ++index;
            Tag17B tag17B = new Tag17B((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U000FU0005);
            count = this.ListTags((SwiftElement) tag17B).Count;
            if (count > 0)
              list.Add(tag17B);
          }
          while (count > 0);
          return list.ToArray();
        }
      }

      [Description("Flag")]
      public Tag17B[] Tag17B_Flag_C
      {
        get
        {
          return this.Flag_C_17B;
        }
      }

      [Description("Indicator")]
      public Tag22F[] Indicator_C_22F
      {
        get
        {
          int index = -1;
          List<Tag22F> list = new List<Tag22F>();
          int count;
          do
          {
            ++index;
            Tag22F tag22F = new Tag22F((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U0012U0005);
            count = this.ListTags((SwiftElement) tag22F).Count;
            if (count > 0)
              list.Add(tag22F);
          }
          while (count > 0);
          return list.ToArray();
        }
      }

      [Description("Indicator")]
      public Tag22F[] Tag22F_Indicator_C
      {
        get
        {
          return this.Indicator_C_22F;
        }
      }

      [Description("Narrative")]
      public Tag70E[] Narrative_C_70E
      {
        get
        {
          int index = -1;
          List<Tag70E> list = new List<Tag70E>();
          int count;
          do
          {
            ++index;
            Tag70E tag70E = new Tag70E((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U0016U0005);
            count = this.ListTags((SwiftElement) tag70E).Count;
            if (count > 0)
              list.Add(tag70E);
          }
          while (count > 0);
          return list.ToArray();
        }
      }

      [Description("Narrative")]
      public Tag70E[] Tag70E_Narrative_C
      {
        get
        {
          return this.Narrative_C_70E;
        }
      }

      [Description("End Of Block")]
      public Tag16S EndOfBlock_C_16S
      {
        get
        {
          return new Tag16S((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U0019U0005);
        }
      }

      [Description("End Of Block")]
      public Tag16S Tag16S_EndOfBlock_C
      {
        get
        {
          return this.EndOfBlock_C_16S;
        }
      }

      internal SequenceCClass(SwiftElement parent, int index, bool createTags)
        : base(parent, index, createTags)
      {
      }

      public Tag98A AddDate_C_98A()
      {
        return new Tag98A((SwiftElement) this, this.Date_C_98A.Length, (SwiftDefinitionElement) MT566.U0018U0003)
        {
          Value = string.Empty
        };
      }

      public void RemoveDate_C_98A(Tag98A tag)
      {
        this.RemoveTag(tag.GetTag());
      }

      public Tag98B AddDateCode_C_98B()
      {
        return new Tag98B((SwiftElement) this, this.DateCode_C_98B.Length, (SwiftDefinitionElement) MT566.U001BU0003)
        {
          Value = string.Empty
        };
      }

      public void RemoveDateCode_C_98B(Tag98B tag)
      {
        this.RemoveTag(tag.GetTag());
      }

      public Tag98C AddDateTime_C_98C()
      {
        return new Tag98C((SwiftElement) this, this.DateTime_C_98C.Length, (SwiftDefinitionElement) MT566.U001FU0003)
        {
          Value = string.Empty
        };
      }

      public void RemoveDateTime_C_98C(Tag98C tag)
      {
        this.RemoveTag(tag.GetTag());
      }

      public Tag98E AddDateTime_C_98E()
      {
        return new Tag98E((SwiftElement) this, this.DateTime_C_98E.Length, (SwiftDefinitionElement) MT566.U0083U0003)
        {
          Value = string.Empty
        };
      }

      public void RemoveDateTime_C_98E(Tag98E tag)
      {
        this.RemoveTag(tag.GetTag());
      }

      public Tag69A AddPeriod_C_69A()
      {
        return new Tag69A((SwiftElement) this, this.Period_C_69A.Length, (SwiftDefinitionElement) MT566.U008FU0003)
        {
          Value = string.Empty
        };
      }

      public void RemovePeriod_C_69A(Tag69A tag)
      {
        this.RemoveTag(tag.GetTag());
      }

      public Tag69B AddPeriod_C_69B()
      {
        return new Tag69B((SwiftElement) this, this.Period_C_69B.Length, (SwiftDefinitionElement) MT566.U0094U0003)
        {
          Value = string.Empty
        };
      }

      public void RemovePeriod_C_69B(Tag69B tag)
      {
        this.RemoveTag(tag.GetTag());
      }

      public Tag69C AddPeriod_C_69C()
      {
        return new Tag69C((SwiftElement) this, this.Period_C_69C.Length, (SwiftDefinitionElement) MT566.U009DU0003)
        {
          Value = string.Empty
        };
      }

      public void RemovePeriod_C_69C(Tag69C tag)
      {
        this.RemoveTag(tag.GetTag());
      }

      public Tag69D AddPeriod_C_69D()
      {
        return new Tag69D((SwiftElement) this, this.Period_C_69D.Length, (SwiftDefinitionElement) MT566.U0003U0004)
        {
          Value = string.Empty
        };
      }

      public void RemovePeriod_C_69D(Tag69D tag)
      {
        this.RemoveTag(tag.GetTag());
      }

      public Tag69E AddPeriod_C_69E()
      {
        return new Tag69E((SwiftElement) this, this.Period_C_69E.Length, (SwiftDefinitionElement) MT566.U000FU0004)
        {
          Value = string.Empty
        };
      }

      public void RemovePeriod_C_69E(Tag69E tag)
      {
        this.RemoveTag(tag.GetTag());
      }

      public Tag69F AddPeriod_C_69F()
      {
        return new Tag69F((SwiftElement) this, this.Period_C_69F.Length, (SwiftDefinitionElement) MT566.U0014U0004)
        {
          Value = string.Empty
        };
      }

      public void RemovePeriod_C_69F(Tag69F tag)
      {
        this.RemoveTag(tag.GetTag());
      }

      public Tag92A AddRate_C_92A()
      {
        return new Tag92A((SwiftElement) this, this.Rate_C_92A.Length, (SwiftDefinitionElement) MT566.U001FU0004)
        {
          Value = string.Empty
        };
      }

      public void RemoveRate_C_92A(Tag92A tag)
      {
        this.RemoveTag(tag.GetTag());
      }

      public Tag92F AddRate_C_92F()
      {
        return new Tag92F((SwiftElement) this, this.Rate_C_92F.Length, (SwiftDefinitionElement) MT566.U0081U0004)
        {
          Value = string.Empty
        };
      }

      public void RemoveRate_C_92F(Tag92F tag)
      {
        this.RemoveTag(tag.GetTag());
      }

      public MT566.SequenceCClass.Tag92K AddRate_C_92K()
      {
        return new MT566.SequenceCClass.Tag92K((SwiftElement) this, this.Rate_C_92K.Length, (SwiftDefinitionElement) MT566.U0087U0004)
        {
          Value = string.Empty
        };
      }

      public void RemoveRate_C_92K(MT566.SequenceCClass.Tag92K tag)
      {
        this.RemoveTag(tag.GetTag());
      }

      public Tag90A AddPrice_C_90A()
      {
        return new Tag90A((SwiftElement) this, this.Price_C_90A.Length, (SwiftDefinitionElement) MT566.U008CU0004)
        {
          Value = string.Empty
        };
      }

      public void RemovePrice_C_90A(Tag90A tag)
      {
        this.RemoveTag(tag.GetTag());
      }

      public Tag90B AddPrice_C_90B()
      {
        return new Tag90B((SwiftElement) this, this.Price_C_90B.Length, (SwiftDefinitionElement) MT566.U0091U0004)
        {
          Value = string.Empty
        };
      }

      public void RemovePrice_C_90B(Tag90B tag)
      {
        this.RemoveTag(tag.GetTag());
      }

      public Tag36B AddQuantityOfFinancialInstrument_C_36B()
      {
        return new Tag36B((SwiftElement) this, this.QuantityOfFinancialInstrument_C_36B.Length, (SwiftDefinitionElement) MT566.U0099U0004)
        {
          Value = string.Empty
        };
      }

      public void RemoveQuantityOfFinancialInstrument_C_36B(Tag36B tag)
      {
        this.RemoveTag(tag.GetTag());
      }

      public Tag36C AddQuantityOfFinancialInstrument_C_36C()
      {
        return new Tag36C((SwiftElement) this, this.QuantityOfFinancialInstrument_C_36C.Length, (SwiftDefinitionElement) MT566.U009EU0004)
        {
          Value = string.Empty
        };
      }

      public void RemoveQuantityOfFinancialInstrument_C_36C(Tag36C tag)
      {
        this.RemoveTag(tag.GetTag());
      }

      public Tag13A AddNumberIdentification_C_13A()
      {
        return new Tag13A((SwiftElement) this, this.NumberIdentification_C_13A.Length, (SwiftDefinitionElement) MT566.U0003U0005)
        {
          Value = string.Empty
        };
      }

      public void RemoveNumberIdentification_C_13A(Tag13A tag)
      {
        this.RemoveTag(tag.GetTag());
      }

      public Tag13B AddNumberIdentification_C_13B()
      {
        return new Tag13B((SwiftElement) this, this.NumberIdentification_C_13B.Length, (SwiftDefinitionElement) MT566.U0006U0005)
        {
          Value = string.Empty
        };
      }

      public void RemoveNumberIdentification_C_13B(Tag13B tag)
      {
        this.RemoveTag(tag.GetTag());
      }

      public Tag17B AddFlag_C_17B()
      {
        return new Tag17B((SwiftElement) this, this.Flag_C_17B.Length, (SwiftDefinitionElement) MT566.U000FU0005)
        {
          Value = string.Empty
        };
      }

      public void RemoveFlag_C_17B(Tag17B tag)
      {
        this.RemoveTag(tag.GetTag());
      }

      public Tag22F AddIndicator_C_22F()
      {
        return new Tag22F((SwiftElement) this, this.Indicator_C_22F.Length, (SwiftDefinitionElement) MT566.U0012U0005)
        {
          Value = string.Empty
        };
      }

      public void RemoveIndicator_C_22F(Tag22F tag)
      {
        this.RemoveTag(tag.GetTag());
      }

      public Tag70E AddNarrative_C_70E()
      {
        return new Tag70E((SwiftElement) this, this.Narrative_C_70E.Length, (SwiftDefinitionElement) MT566.U0016U0005)
        {
          Value = string.Empty
        };
      }

      public void RemoveNarrative_C_70E(Tag70E tag)
      {
        this.RemoveTag(tag.GetTag());
      }

      public class Tag92K : SwiftTagWrapper
      {
        public string Value
        {
          get
          {
            return this.GetValue();
          }
          set
          {
            this.SetValue("92K", value);
          }
        }

        internal Tag92K(SwiftElement parent, int index, SwiftDefinitionElement definition)
          : base(parent, index, definition)
        {
        }
      }
    }

    public class SequenceDClass : SwiftTagSequence
    {
      internal override SwiftDefinitionElement Definition
      {
        get
        {
          return (SwiftDefinitionElement) MT566.U001BU0005;
        }
      }

      [Description("Start Of Block")]
      public Tag16R StartOfBlock_D_16R
      {
        get
        {
          return new Tag16R((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U001CU0005);
        }
      }

      [Description("Start Of Block")]
      public Tag16R Tag16R_StartOfBlock_D
      {
        get
        {
          return this.StartOfBlock_D_16R;
        }
      }

      [Description("CA Option Number")]
      public Tag13A NumberIdentification_D_13A
      {
        get
        {
          return new Tag13A((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U001EU0005);
        }
      }

      [Description("CA Option Number")]
      public Tag13A Tag13A_NumberIdentification_D
      {
        get
        {
          return this.NumberIdentification_D_13A;
        }
      }

      [Description("Corporate Action Option Code")]
      public Tag22F[] Indicator_D_22F
      {
        get
        {
          int index = -1;
          List<Tag22F> list = new List<Tag22F>();
          int count;
          do
          {
            ++index;
            Tag22F tag22F = new Tag22F((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U0081U0005);
            count = this.ListTags((SwiftElement) tag22F).Count;
            if (count > 0)
              list.Add(tag22F);
          }
          while (count > 0);
          return list.ToArray();
        }
      }

      [Description("Corporate Action Option Code")]
      public Tag22F[] Tag22F_Indicator_D
      {
        get
        {
          return this.Indicator_D_22F;
        }
      }

      [Description("Corporate Action Option Code")]
      public MT566.SequenceDClass.Tag22H[] Indicator_D_22H
      {
        get
        {
          int index = -1;
          List<MT566.SequenceDClass.Tag22H> list = new List<MT566.SequenceDClass.Tag22H>();
          int count;
          do
          {
            ++index;
            MT566.SequenceDClass.Tag22H tag22H = new MT566.SequenceDClass.Tag22H((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U0086U0005);
            count = this.ListTags((SwiftElement) tag22H).Count;
            if (count > 0)
              list.Add(tag22H);
          }
          while (count > 0);
          return list.ToArray();
        }
      }

      [Description("Corporate Action Option Code")]
      public MT566.SequenceDClass.Tag22H[] Tag22H_Indicator_D
      {
        get
        {
          return this.Indicator_D_22H;
        }
      }

      [Description("Currency Option")]
      public Tag11A Currency_D_11A
      {
        get
        {
          return new Tag11A((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U0089U0005);
        }
      }

      [Description("Currency Option")]
      public Tag11A Tag11A_Currency_D
      {
        get
        {
          return this.Currency_D_11A;
        }
      }

      [Description("Date")]
      public Tag98A[] Date_D_98A
      {
        get
        {
          int index = -1;
          List<Tag98A> list = new List<Tag98A>();
          int count;
          do
          {
            ++index;
            Tag98A tag98A = new Tag98A((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U008DU0005);
            count = this.ListTags((SwiftElement) tag98A).Count;
            if (count > 0)
              list.Add(tag98A);
          }
          while (count > 0);
          return list.ToArray();
        }
      }

      [Description("Date")]
      public Tag98A[] Tag98A_Date_D
      {
        get
        {
          return this.Date_D_98A;
        }
      }

      [Description("Date Code")]
      public Tag98B[] DateCode_D_98B
      {
        get
        {
          int index = -1;
          List<Tag98B> list = new List<Tag98B>();
          int count;
          do
          {
            ++index;
            Tag98B tag98B = new Tag98B((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U0090U0005);
            count = this.ListTags((SwiftElement) tag98B).Count;
            if (count > 0)
              list.Add(tag98B);
          }
          while (count > 0);
          return list.ToArray();
        }
      }

      [Description("Date Code")]
      public Tag98B[] Tag98B_DateCode_D
      {
        get
        {
          return this.DateCode_D_98B;
        }
      }

      [Description("Date/Time")]
      public Tag98C[] DateTime_D_98C
      {
        get
        {
          int index = -1;
          List<Tag98C> list = new List<Tag98C>();
          int count;
          do
          {
            ++index;
            Tag98C tag98C = new Tag98C((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U0094U0005);
            count = this.ListTags((SwiftElement) tag98C).Count;
            if (count > 0)
              list.Add(tag98C);
          }
          while (count > 0);
          return list.ToArray();
        }
      }

      [Description("Date/Time")]
      public Tag98C[] Tag98C_DateTime_D
      {
        get
        {
          return this.DateTime_D_98C;
        }
      }

      [Description("Preparation Date/Time")]
      public Tag98E[] DateTime_D_98E
      {
        get
        {
          int index = -1;
          List<Tag98E> list = new List<Tag98E>();
          int count;
          do
          {
            ++index;
            Tag98E tag98E = new Tag98E((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U0099U0005);
            count = this.ListTags((SwiftElement) tag98E).Count;
            if (count > 0)
              list.Add(tag98E);
          }
          while (count > 0);
          return list.ToArray();
        }
      }

      [Description("Preparation Date/Time")]
      public Tag98E[] Tag98E_DateTime_D
      {
        get
        {
          return this.DateTime_D_98E;
        }
      }

      [Description("Period")]
      public Tag69A[] Period_D_69A
      {
        get
        {
          int index = -1;
          List<Tag69A> list = new List<Tag69A>();
          int count;
          do
          {
            ++index;
            Tag69A tag69A = new Tag69A((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U0005U0006);
            count = this.ListTags((SwiftElement) tag69A).Count;
            if (count > 0)
              list.Add(tag69A);
          }
          while (count > 0);
          return list.ToArray();
        }
      }

      [Description("Period")]
      public Tag69A[] Tag69A_Period_D
      {
        get
        {
          return this.Period_D_69A;
        }
      }

      [Description("Period")]
      public Tag69B[] Period_D_69B
      {
        get
        {
          int index = -1;
          List<Tag69B> list = new List<Tag69B>();
          int count;
          do
          {
            ++index;
            Tag69B tag69B = new Tag69B((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U000FU0006);
            count = this.ListTags((SwiftElement) tag69B).Count;
            if (count > 0)
              list.Add(tag69B);
          }
          while (count > 0);
          return list.ToArray();
        }
      }

      [Description("Period")]
      public Tag69B[] Tag69B_Period_D
      {
        get
        {
          return this.Period_D_69B;
        }
      }

      [Description("Period")]
      public Tag69C[] Period_D_69C
      {
        get
        {
          int index = -1;
          List<Tag69C> list = new List<Tag69C>();
          int count;
          do
          {
            ++index;
            Tag69C tag69C = new Tag69C((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U0018U0006);
            count = this.ListTags((SwiftElement) tag69C).Count;
            if (count > 0)
              list.Add(tag69C);
          }
          while (count > 0);
          return list.ToArray();
        }
      }

      [Description("Period")]
      public Tag69C[] Tag69C_Period_D
      {
        get
        {
          return this.Period_D_69C;
        }
      }

      [Description("Period")]
      public Tag69D[] Period_D_69D
      {
        get
        {
          int index = -1;
          List<Tag69D> list = new List<Tag69D>();
          int count;
          do
          {
            ++index;
            Tag69D tag69D = new Tag69D((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U001DU0006);
            count = this.ListTags((SwiftElement) tag69D).Count;
            if (count > 0)
              list.Add(tag69D);
          }
          while (count > 0);
          return list.ToArray();
        }
      }

      [Description("Period")]
      public Tag69D[] Tag69D_Period_D
      {
        get
        {
          return this.Period_D_69D;
        }
      }

      [Description("Period")]
      public Tag69E[] Period_D_69E
      {
        get
        {
          int index = -1;
          List<Tag69E> list = new List<Tag69E>();
          int count;
          do
          {
            ++index;
            Tag69E tag69E = new Tag69E((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U0083U0006);
            count = this.ListTags((SwiftElement) tag69E).Count;
            if (count > 0)
              list.Add(tag69E);
          }
          while (count > 0);
          return list.ToArray();
        }
      }

      [Description("Period")]
      public Tag69E[] Tag69E_Period_D
      {
        get
        {
          return this.Period_D_69E;
        }
      }

      [Description("Period")]
      public Tag69F[] Period_D_69F
      {
        get
        {
          int index = -1;
          List<Tag69F> list = new List<Tag69F>();
          int count;
          do
          {
            ++index;
            Tag69F tag69F = new Tag69F((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U0089U0006);
            count = this.ListTags((SwiftElement) tag69F).Count;
            if (count > 0)
              list.Add(tag69F);
          }
          while (count > 0);
          return list.ToArray();
        }
      }

      [Description("Period")]
      public Tag69F[] Tag69F_Period_D
      {
        get
        {
          return this.Period_D_69F;
        }
      }

      [Description("Rate")]
      public Tag92A[] Rate_D_92A
      {
        get
        {
          int index = -1;
          List<Tag92A> list = new List<Tag92A>();
          int count;
          do
          {
            ++index;
            Tag92A tag92A = new Tag92A((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U0091U0006);
            count = this.ListTags((SwiftElement) tag92A).Count;
            if (count > 0)
              list.Add(tag92A);
          }
          while (count > 0);
          return list.ToArray();
        }
      }

      [Description("Rate")]
      public Tag92A[] Tag92A_Rate_D
      {
        get
        {
          return this.Rate_D_92A;
        }
      }

      [Description("Rate")]
      public Tag92F[] Rate_D_92F
      {
        get
        {
          int index = -1;
          List<Tag92F> list = new List<Tag92F>();
          int count;
          do
          {
            ++index;
            Tag92F tag92F = new Tag92F((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U0094U0006);
            count = this.ListTags((SwiftElement) tag92F).Count;
            if (count > 0)
              list.Add(tag92F);
          }
          while (count > 0);
          return list.ToArray();
        }
      }

      [Description("Rate")]
      public Tag92F[] Tag92F_Rate_D
      {
        get
        {
          return this.Rate_D_92F;
        }
      }

      [Description("Corporate Action Event Indicator")]
      public Tag92J[] Rate_D_92J
      {
        get
        {
          int index = -1;
          List<Tag92J> list = new List<Tag92J>();
          int count;
          do
          {
            ++index;
            Tag92J tag92J = new Tag92J((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U0099U0006);
            count = this.ListTags((SwiftElement) tag92J).Count;
            if (count > 0)
              list.Add(tag92J);
          }
          while (count > 0);
          return list.ToArray();
        }
      }

      [Description("Corporate Action Event Indicator")]
      public Tag92J[] Tag92J_Rate_D
      {
        get
        {
          return this.Rate_D_92J;
        }
      }

      [Description("Price")]
      public Tag90A[] Price_D_90A
      {
        get
        {
          int index = -1;
          List<Tag90A> list = new List<Tag90A>();
          int count;
          do
          {
            ++index;
            Tag90A tag90A = new Tag90A((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U0004U0007);
            count = this.ListTags((SwiftElement) tag90A).Count;
            if (count > 0)
              list.Add(tag90A);
          }
          while (count > 0);
          return list.ToArray();
        }
      }

      [Description("Price")]
      public Tag90A[] Tag90A_Price_D
      {
        get
        {
          return this.Price_D_90A;
        }
      }

      [Description("Price")]
      public Tag90B[] Price_D_90B
      {
        get
        {
          int index = -1;
          List<Tag90B> list = new List<Tag90B>();
          int count;
          do
          {
            ++index;
            Tag90B tag90B = new Tag90B((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U000EU0007);
            count = this.ListTags((SwiftElement) tag90B).Count;
            if (count > 0)
              list.Add(tag90B);
          }
          while (count > 0);
          return list.ToArray();
        }
      }

      [Description("Price")]
      public Tag90B[] Tag90B_Price_D
      {
        get
        {
          return this.Price_D_90B;
        }
      }

      [Description("Price")]
      public Tag90F[] Price_D_90F
      {
        get
        {
          int index = -1;
          List<Tag90F> list = new List<Tag90F>();
          int count;
          do
          {
            ++index;
            Tag90F tag90F = new Tag90F((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U0015U0007);
            count = this.ListTags((SwiftElement) tag90F).Count;
            if (count > 0)
              list.Add(tag90F);
          }
          while (count > 0);
          return list.ToArray();
        }
      }

      [Description("Price")]
      public Tag90F[] Tag90F_Price_D
      {
        get
        {
          return this.Price_D_90F;
        }
      }

      [Description("Price")]
      public Tag90J[] Price_D_90J
      {
        get
        {
          int index = -1;
          List<Tag90J> list = new List<Tag90J>();
          int count;
          do
          {
            ++index;
            Tag90J tag90J = new Tag90J((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U001EU0007);
            count = this.ListTags((SwiftElement) tag90J).Count;
            if (count > 0)
              list.Add(tag90J);
          }
          while (count > 0);
          return list.ToArray();
        }
      }

      [Description("Price")]
      public Tag90J[] Tag90J_Price_D
      {
        get
        {
          return this.Price_D_90J;
        }
      }

      [Description("Price")]
      public Tag90K[] Price_D_90K
      {
        get
        {
          int index = -1;
          List<Tag90K> list = new List<Tag90K>();
          int count;
          do
          {
            ++index;
            Tag90K tag90K = new Tag90K((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U0088U0007);
            count = this.ListTags((SwiftElement) tag90K).Count;
            if (count > 0)
              list.Add(tag90K);
          }
          while (count > 0);
          return list.ToArray();
        }
      }

      [Description("Price")]
      public Tag90K[] Tag90K_Price_D
      {
        get
        {
          return this.Price_D_90K;
        }
      }

      [Description("Place Of Safe Keeping")]
      public MT566.SequenceDClass.Tag94B Place_D_94B
      {
        get
        {
          return new MT566.SequenceDClass.Tag94B((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U008BU0007);
        }
      }

      [Description("Place Of Safe Keeping")]
      public MT566.SequenceDClass.Tag94B Tag94B_Place_D
      {
        get
        {
          return this.Place_D_94B;
        }
      }

      [Description("Securities Movement")]
      public MT566.SequenceDClass.SequenceD1Class[] SequenceD1
      {
        get
        {
          int index = -1;
          List<MT566.SequenceDClass.SequenceD1Class> list = new List<MT566.SequenceDClass.SequenceD1Class>();
          int count;
          do
          {
            ++index;
            MT566.SequenceDClass.SequenceD1Class sequenceD1Class = new MT566.SequenceDClass.SequenceD1Class((SwiftElement) this, index, false);
            count = this.ListTags((SwiftElement) sequenceD1Class).Count;
            if (count > 0)
              list.Add(sequenceD1Class);
          }
          while (count > 0);
          return list.ToArray();
        }
      }

      [Description("Cash Movements")]
      public MT566.SequenceDClass.SequenceD2Class[] SequenceD2
      {
        get
        {
          int index = -1;
          List<MT566.SequenceDClass.SequenceD2Class> list = new List<MT566.SequenceDClass.SequenceD2Class>();
          int count;
          do
          {
            ++index;
            MT566.SequenceDClass.SequenceD2Class sequenceD2Class = new MT566.SequenceDClass.SequenceD2Class((SwiftElement) this, index, false);
            count = this.ListTags((SwiftElement) sequenceD2Class).Count;
            if (count > 0)
              list.Add(sequenceD2Class);
          }
          while (count > 0);
          return list.ToArray();
        }
      }

      [Description("End Of Block")]
      public Tag16S EndOfBlock_D_16S
      {
        get
        {
          return new Tag16S((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U001FU0012);
        }
      }

      [Description("End Of Block")]
      public Tag16S Tag16S_EndOfBlock_D
      {
        get
        {
          return this.EndOfBlock_D_16S;
        }
      }

      internal SequenceDClass(SwiftElement parent, int index, bool createTags)
        : base(parent, index, createTags)
      {
      }

      public Tag22F AddIndicator_D_22F()
      {
        return new Tag22F((SwiftElement) this, this.Indicator_D_22F.Length, (SwiftDefinitionElement) MT566.U0081U0005)
        {
          Value = string.Empty
        };
      }

      public void RemoveIndicator_D_22F(Tag22F tag)
      {
        this.RemoveTag(tag.GetTag());
      }

      public MT566.SequenceDClass.Tag22H AddIndicator_D_22H()
      {
        return new MT566.SequenceDClass.Tag22H((SwiftElement) this, this.Indicator_D_22H.Length, (SwiftDefinitionElement) MT566.U0086U0005)
        {
          Value = string.Empty
        };
      }

      public void RemoveIndicator_D_22H(MT566.SequenceDClass.Tag22H tag)
      {
        this.RemoveTag(tag.GetTag());
      }

      public Tag98A AddDate_D_98A()
      {
        return new Tag98A((SwiftElement) this, this.Date_D_98A.Length, (SwiftDefinitionElement) MT566.U008DU0005)
        {
          Value = string.Empty
        };
      }

      public void RemoveDate_D_98A(Tag98A tag)
      {
        this.RemoveTag(tag.GetTag());
      }

      public Tag98B AddDateCode_D_98B()
      {
        return new Tag98B((SwiftElement) this, this.DateCode_D_98B.Length, (SwiftDefinitionElement) MT566.U0090U0005)
        {
          Value = string.Empty
        };
      }

      public void RemoveDateCode_D_98B(Tag98B tag)
      {
        this.RemoveTag(tag.GetTag());
      }

      public Tag98C AddDateTime_D_98C()
      {
        return new Tag98C((SwiftElement) this, this.DateTime_D_98C.Length, (SwiftDefinitionElement) MT566.U0094U0005)
        {
          Value = string.Empty
        };
      }

      public void RemoveDateTime_D_98C(Tag98C tag)
      {
        this.RemoveTag(tag.GetTag());
      }

      public Tag98E AddDateTime_D_98E()
      {
        return new Tag98E((SwiftElement) this, this.DateTime_D_98E.Length, (SwiftDefinitionElement) MT566.U0099U0005)
        {
          Value = string.Empty
        };
      }

      public void RemoveDateTime_D_98E(Tag98E tag)
      {
        this.RemoveTag(tag.GetTag());
      }

      public Tag69A AddPeriod_D_69A()
      {
        return new Tag69A((SwiftElement) this, this.Period_D_69A.Length, (SwiftDefinitionElement) MT566.U0005U0006)
        {
          Value = string.Empty
        };
      }

      public void RemovePeriod_D_69A(Tag69A tag)
      {
        this.RemoveTag(tag.GetTag());
      }

      public Tag69B AddPeriod_D_69B()
      {
        return new Tag69B((SwiftElement) this, this.Period_D_69B.Length, (SwiftDefinitionElement) MT566.U000FU0006)
        {
          Value = string.Empty
        };
      }

      public void RemovePeriod_D_69B(Tag69B tag)
      {
        this.RemoveTag(tag.GetTag());
      }

      public Tag69C AddPeriod_D_69C()
      {
        return new Tag69C((SwiftElement) this, this.Period_D_69C.Length, (SwiftDefinitionElement) MT566.U0018U0006)
        {
          Value = string.Empty
        };
      }

      public void RemovePeriod_D_69C(Tag69C tag)
      {
        this.RemoveTag(tag.GetTag());
      }

      public Tag69D AddPeriod_D_69D()
      {
        return new Tag69D((SwiftElement) this, this.Period_D_69D.Length, (SwiftDefinitionElement) MT566.U001DU0006)
        {
          Value = string.Empty
        };
      }

      public void RemovePeriod_D_69D(Tag69D tag)
      {
        this.RemoveTag(tag.GetTag());
      }

      public Tag69E AddPeriod_D_69E()
      {
        return new Tag69E((SwiftElement) this, this.Period_D_69E.Length, (SwiftDefinitionElement) MT566.U0083U0006)
        {
          Value = string.Empty
        };
      }

      public void RemovePeriod_D_69E(Tag69E tag)
      {
        this.RemoveTag(tag.GetTag());
      }

      public Tag69F AddPeriod_D_69F()
      {
        return new Tag69F((SwiftElement) this, this.Period_D_69F.Length, (SwiftDefinitionElement) MT566.U0089U0006)
        {
          Value = string.Empty
        };
      }

      public void RemovePeriod_D_69F(Tag69F tag)
      {
        this.RemoveTag(tag.GetTag());
      }

      public Tag92A AddRate_D_92A()
      {
        return new Tag92A((SwiftElement) this, this.Rate_D_92A.Length, (SwiftDefinitionElement) MT566.U0091U0006)
        {
          Value = string.Empty
        };
      }

      public void RemoveRate_D_92A(Tag92A tag)
      {
        this.RemoveTag(tag.GetTag());
      }

      public Tag92F AddRate_D_92F()
      {
        return new Tag92F((SwiftElement) this, this.Rate_D_92F.Length, (SwiftDefinitionElement) MT566.U0094U0006)
        {
          Value = string.Empty
        };
      }

      public void RemoveRate_D_92F(Tag92F tag)
      {
        this.RemoveTag(tag.GetTag());
      }

      public Tag92J AddRate_D_92J()
      {
        return new Tag92J((SwiftElement) this, this.Rate_D_92J.Length, (SwiftDefinitionElement) MT566.U0099U0006)
        {
          Value = string.Empty
        };
      }

      public void RemoveRate_D_92J(Tag92J tag)
      {
        this.RemoveTag(tag.GetTag());
      }

      public Tag90A AddPrice_D_90A()
      {
        return new Tag90A((SwiftElement) this, this.Price_D_90A.Length, (SwiftDefinitionElement) MT566.U0004U0007)
        {
          Value = string.Empty
        };
      }

      public void RemovePrice_D_90A(Tag90A tag)
      {
        this.RemoveTag(tag.GetTag());
      }

      public Tag90B AddPrice_D_90B()
      {
        return new Tag90B((SwiftElement) this, this.Price_D_90B.Length, (SwiftDefinitionElement) MT566.U000EU0007)
        {
          Value = string.Empty
        };
      }

      public void RemovePrice_D_90B(Tag90B tag)
      {
        this.RemoveTag(tag.GetTag());
      }

      public Tag90F AddPrice_D_90F()
      {
        return new Tag90F((SwiftElement) this, this.Price_D_90F.Length, (SwiftDefinitionElement) MT566.U0015U0007)
        {
          Value = string.Empty
        };
      }

      public void RemovePrice_D_90F(Tag90F tag)
      {
        this.RemoveTag(tag.GetTag());
      }

      public Tag90J AddPrice_D_90J()
      {
        return new Tag90J((SwiftElement) this, this.Price_D_90J.Length, (SwiftDefinitionElement) MT566.U001EU0007)
        {
          Value = string.Empty
        };
      }

      public void RemovePrice_D_90J(Tag90J tag)
      {
        this.RemoveTag(tag.GetTag());
      }

      public Tag90K AddPrice_D_90K()
      {
        return new Tag90K((SwiftElement) this, this.Price_D_90K.Length, (SwiftDefinitionElement) MT566.U0088U0007)
        {
          Value = string.Empty
        };
      }

      public void RemovePrice_D_90K(Tag90K tag)
      {
        this.RemoveTag(tag.GetTag());
      }

      public MT566.SequenceDClass.SequenceD1Class AddSequenceD1()
      {
        return new MT566.SequenceDClass.SequenceD1Class((SwiftElement) this, this.SequenceD1.Length, true);
      }

      public void RemoveSequenceD1(MT566.SequenceDClass.SequenceD1Class sequence)
      {
        foreach (SwiftTag tag in this.ListTags((SwiftElement) sequence))
          this.RemoveTag(tag);
      }

      public MT566.SequenceDClass.SequenceD2Class AddSequenceD2()
      {
        return new MT566.SequenceDClass.SequenceD2Class((SwiftElement) this, this.SequenceD2.Length, true);
      }

      public void RemoveSequenceD2(MT566.SequenceDClass.SequenceD2Class sequence)
      {
        foreach (SwiftTag tag in this.ListTags((SwiftElement) sequence))
          this.RemoveTag(tag);
      }

      public class Tag22H : SwiftTagWrapper
      {
        public string Value
        {
          get
          {
            return this.GetValue();
          }
          set
          {
            this.SetValue("22H", value);
          }
        }

        internal Tag22H(SwiftElement parent, int index, SwiftDefinitionElement definition)
          : base(parent, index, definition)
        {
        }
      }

      public class Tag94B : SwiftTagWrapper
      {
        public string Value
        {
          get
          {
            return this.GetValue();
          }
          set
          {
            this.SetValue("94B", value);
          }
        }

        internal Tag94B(SwiftElement parent, int index, SwiftDefinitionElement definition)
          : base(parent, index, definition)
        {
        }
      }

      public class SequenceD1Class : SwiftTagSequence
      {
        internal override SwiftDefinitionElement Definition
        {
          get
          {
            return (SwiftDefinitionElement) MT566.U0091U0007;
          }
        }

        [Description("Start Of Block")]
        public Tag16R StartOfBlock_D1_16R
        {
          get
          {
            return new Tag16R((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U0092U0007);
          }
        }

        [Description("Start Of Block")]
        public Tag16R Tag16R_StartOfBlock_D1
        {
          get
          {
            return this.StartOfBlock_D1_16R;
          }
        }

        [Description("Indicator")]
        public Tag22F[] Indicator_1_D1_22F
        {
          get
          {
            int index = -1;
            List<Tag22F> list = new List<Tag22F>();
            int count;
            do
            {
              ++index;
              Tag22F tag22F = new Tag22F((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U0095U0007);
              count = this.ListTags((SwiftElement) tag22F).Count;
              if (count > 0)
                list.Add(tag22F);
            }
            while (count > 0);
            return list.ToArray();
          }
        }

        [Description("Indicator")]
        public Tag22F[] Tag22F_Indicator_1_D1
        {
          get
          {
            return this.Indicator_1_D1_22F;
          }
        }

        [Description("Indicator")]
        public MT566.SequenceDClass.Tag22H[] Indicator_D1_22H
        {
          get
          {
            int index = -1;
            List<MT566.SequenceDClass.Tag22H> list = new List<MT566.SequenceDClass.Tag22H>();
            int count;
            do
            {
              ++index;
              MT566.SequenceDClass.Tag22H tag22H = new MT566.SequenceDClass.Tag22H((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U0099U0007);
              count = this.ListTags((SwiftElement) tag22H).Count;
              if (count > 0)
                list.Add(tag22H);
            }
            while (count > 0);
            return list.ToArray();
          }
        }

        [Description("Indicator")]
        public MT566.SequenceDClass.Tag22H[] Tag22H_Indicator_D1
        {
          get
          {
            return this.Indicator_D1_22H;
          }
        }

        [Description("Identification of the Financial Instrument")]
        public Tag35B IdentificationOfFinancialInstrument_D1_35B
        {
          get
          {
            return new Tag35B((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U009CU0007);
          }
        }

        [Description("Identification of the Financial Instrument")]
        public Tag35B Tag35B_IdentificationOfFinancialInstrument_D1
        {
          get
          {
            return this.IdentificationOfFinancialInstrument_D1_35B;
          }
        }

        [Description("Financial Instrument Attributes")]
        public MT566.SequenceDClass.SequenceD1Class.SequenceD1aClass SequenceD1a
        {
          get
          {
            MT566.SequenceDClass.SequenceD1Class.SequenceD1aClass sequenceD1aClass = new MT566.SequenceDClass.SequenceD1Class.SequenceD1aClass((SwiftElement) this, 0, false);
            if (this.ListTags((SwiftElement) sequenceD1aClass).Count > 0)
              return sequenceD1aClass;
            else
              return (MT566.SequenceDClass.SequenceD1Class.SequenceD1aClass) null;
          }
        }

        [Description("Posting Quantity")]
        public Tag36B[] QuantityOfFinancialInstrument_D1_36B
        {
          get
          {
            int index = -1;
            List<Tag36B> list = new List<Tag36B>();
            int count;
            do
            {
              ++index;
              Tag36B tag36B = new Tag36B((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U0098U0008);
              count = this.ListTags((SwiftElement) tag36B).Count;
              if (count > 0)
                list.Add(tag36B);
            }
            while (count > 0);
            return list.ToArray();
          }
        }

        [Description("Posting Quantity")]
        public Tag36B[] Tag36B_QuantityOfFinancialInstrument_D1
        {
          get
          {
            return this.QuantityOfFinancialInstrument_D1_36B;
          }
        }

        [Description("Place")]
        public Tag94C Place_D1_94C
        {
          get
          {
            return new Tag94C((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U009EU0008);
          }
        }

        [Description("Place")]
        public Tag94C Tag94C_Place_D1
        {
          get
          {
            return this.Place_D1_94C;
          }
        }

        [Description("Place")]
        public MT566.SequenceDClass.SequenceD1Class.Tag94B Place_D1_94B
        {
          get
          {
            return new MT566.SequenceDClass.SequenceD1Class.Tag94B((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U0002U000E);
          }
        }

        [Description("Place")]
        public MT566.SequenceDClass.SequenceD1Class.Tag94B Tag94B_Place_D1
        {
          get
          {
            return this.Place_D1_94B;
          }
        }

        [Description("Place")]
        public Tag94F Place_D1_94F
        {
          get
          {
            return new Tag94F((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U0007U000E);
          }
        }

        [Description("Place")]
        public Tag94F Tag94F_Place_D1
        {
          get
          {
            return this.Place_D1_94F;
          }
        }

        [Description("Disposition of Fractions")]
        public Tag22F Indicator_2_D1_22F
        {
          get
          {
            return new Tag22F((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U0011U000E);
          }
        }

        [Description("Disposition of Fractions")]
        public Tag22F Tag22F_Indicator_2_D1
        {
          get
          {
            return this.Indicator_2_D1_22F;
          }
        }

        [Description("Currency Option")]
        public Tag11A Currency_D1_11A
        {
          get
          {
            return new Tag11A((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U0015U000E);
          }
        }

        [Description("Currency Option")]
        public Tag11A Tag11A_Currency_D1
        {
          get
          {
            return this.Currency_D1_11A;
          }
        }

        [Description("Price")]
        public Tag90A[] Price_D1_90A
        {
          get
          {
            int index = -1;
            List<Tag90A> list = new List<Tag90A>();
            int count;
            do
            {
              ++index;
              Tag90A tag90A = new Tag90A((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U0019U000E);
              count = this.ListTags((SwiftElement) tag90A).Count;
              if (count > 0)
                list.Add(tag90A);
            }
            while (count > 0);
            return list.ToArray();
          }
        }

        [Description("Price")]
        public Tag90A[] Tag90A_Price_D1
        {
          get
          {
            return this.Price_D1_90A;
          }
        }

        [Description("Price")]
        public Tag90B[] Price_D1_90B
        {
          get
          {
            int index = -1;
            List<Tag90B> list = new List<Tag90B>();
            int count;
            do
            {
              ++index;
              Tag90B tag90B = new Tag90B((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U001EU000E);
              count = this.ListTags((SwiftElement) tag90B).Count;
              if (count > 0)
                list.Add(tag90B);
            }
            while (count > 0);
            return list.ToArray();
          }
        }

        [Description("Price")]
        public Tag90B[] Tag90B_Price_D1
        {
          get
          {
            return this.Price_D1_90B;
          }
        }

        [Description("Rate")]
        public Tag92D[] Rate_D1_92D
        {
          get
          {
            int index = -1;
            List<Tag92D> list = new List<Tag92D>();
            int count;
            do
            {
              ++index;
              Tag92D tag92D = new Tag92D((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U0086U000E);
              count = this.ListTags((SwiftElement) tag92D).Count;
              if (count > 0)
                list.Add(tag92D);
            }
            while (count > 0);
            return list.ToArray();
          }
        }

        [Description("Rate")]
        public Tag92D[] Tag92D_Rate_D1
        {
          get
          {
            return this.Rate_D1_92D;
          }
        }

        [Description("Rate")]
        public Tag92L[] Rate_D1_92L
        {
          get
          {
            int index = -1;
            List<Tag92L> list = new List<Tag92L>();
            int count;
            do
            {
              ++index;
              Tag92L tag92L = new Tag92L((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U008BU000E);
              count = this.ListTags((SwiftElement) tag92L).Count;
              if (count > 0)
                list.Add(tag92L);
            }
            while (count > 0);
            return list.ToArray();
          }
        }

        [Description("Rate")]
        public Tag92L[] Tag92L_Rate_D1
        {
          get
          {
            return this.Rate_D1_92L;
          }
        }

        [Description("Rate")]
        public Tag92M[] Rate_D1_92M
        {
          get
          {
            int index = -1;
            List<Tag92M> list = new List<Tag92M>();
            int count;
            do
            {
              ++index;
              Tag92M tag92M = new Tag92M((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U0094U000E);
              count = this.ListTags((SwiftElement) tag92M).Count;
              if (count > 0)
                list.Add(tag92M);
            }
            while (count > 0);
            return list.ToArray();
          }
        }

        [Description("Rate")]
        public Tag92M[] Tag92M_Rate_D1
        {
          get
          {
            return this.Rate_D1_92M;
          }
        }

        [Description("Rate")]
        public Tag92N[] Rate_D1_92N
        {
          get
          {
            int index = -1;
            List<Tag92N> list = new List<Tag92N>();
            int count;
            do
            {
              ++index;
              Tag92N tag92N = new Tag92N((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U009CU000E);
              count = this.ListTags((SwiftElement) tag92N).Count;
              if (count > 0)
                list.Add(tag92N);
            }
            while (count > 0);
            return list.ToArray();
          }
        }

        [Description("Rate")]
        public Tag92N[] Tag92N_Rate_D1
        {
          get
          {
            return this.Rate_D1_92N;
          }
        }

        [Description("Date")]
        public Tag98A[] Date_D1_98A
        {
          get
          {
            int index = -1;
            List<Tag98A> list = new List<Tag98A>();
            int count;
            do
            {
              ++index;
              Tag98A tag98A = new Tag98A((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U0006U000F);
              count = this.ListTags((SwiftElement) tag98A).Count;
              if (count > 0)
                list.Add(tag98A);
            }
            while (count > 0);
            return list.ToArray();
          }
        }

        [Description("Date")]
        public Tag98A[] Tag98A_Date_D1
        {
          get
          {
            return this.Date_D1_98A;
          }
        }

        [Description("Date Code")]
        public Tag98B[] DateCode_D1_98B
        {
          get
          {
            int index = -1;
            List<Tag98B> list = new List<Tag98B>();
            int count;
            do
            {
              ++index;
              Tag98B tag98B = new Tag98B((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U000EU000F);
              count = this.ListTags((SwiftElement) tag98B).Count;
              if (count > 0)
                list.Add(tag98B);
            }
            while (count > 0);
            return list.ToArray();
          }
        }

        [Description("Date Code")]
        public Tag98B[] Tag98B_DateCode_D1
        {
          get
          {
            return this.DateCode_D1_98B;
          }
        }

        [Description("Date/Time")]
        public Tag98C[] DateTime_D1_98C
        {
          get
          {
            int index = -1;
            List<Tag98C> list = new List<Tag98C>();
            int count;
            do
            {
              ++index;
              Tag98C tag98C = new Tag98C((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U0012U000F);
              count = this.ListTags((SwiftElement) tag98C).Count;
              if (count > 0)
                list.Add(tag98C);
            }
            while (count > 0);
            return list.ToArray();
          }
        }

        [Description("Date/Time")]
        public Tag98C[] Tag98C_DateTime_D1
        {
          get
          {
            return this.DateTime_D1_98C;
          }
        }

        [Description("Preparation Date/Time")]
        public Tag98E[] DateTime_D1_98E
        {
          get
          {
            int index = -1;
            List<Tag98E> list = new List<Tag98E>();
            int count;
            do
            {
              ++index;
              Tag98E tag98E = new Tag98E((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U0017U000F);
              count = this.ListTags((SwiftElement) tag98E).Count;
              if (count > 0)
                list.Add(tag98E);
            }
            while (count > 0);
            return list.ToArray();
          }
        }

        [Description("Preparation Date/Time")]
        public Tag98E[] Tag98E_DateTime_D1
        {
          get
          {
            return this.DateTime_D1_98E;
          }
        }

        [Description("Receive/Deliver")]
        public MT566.SequenceDClass.SequenceD1Class.SequenceD1bClass[] SequenceD1b
        {
          get
          {
            int index = -1;
            List<MT566.SequenceDClass.SequenceD1Class.SequenceD1bClass> list = new List<MT566.SequenceDClass.SequenceD1Class.SequenceD1bClass>();
            int count;
            do
            {
              ++index;
              MT566.SequenceDClass.SequenceD1Class.SequenceD1bClass sequenceD1bClass = new MT566.SequenceDClass.SequenceD1Class.SequenceD1bClass((SwiftElement) this, index, false);
              count = this.ListTags((SwiftElement) sequenceD1bClass).Count;
              if (count > 0)
                list.Add(sequenceD1bClass);
            }
            while (count > 0);
            return list.ToArray();
          }
        }

        [Description("End Of Block")]
        public Tag16S EndOfBlock_D1_16S
        {
          get
          {
            return new Tag16S((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U0005U0010);
          }
        }

        [Description("End Of Block")]
        public Tag16S Tag16S_EndOfBlock_D1
        {
          get
          {
            return this.EndOfBlock_D1_16S;
          }
        }

        internal SequenceD1Class(SwiftElement parent, int index, bool createTags)
          : base(parent, index, createTags)
        {
        }

        public Tag22F AddIndicator_1_D1_22F()
        {
          return new Tag22F((SwiftElement) this, this.Indicator_1_D1_22F.Length, (SwiftDefinitionElement) MT566.U0095U0007)
          {
            Value = string.Empty
          };
        }

        public void RemoveIndicator_1_D1_22F(Tag22F tag)
        {
          this.RemoveTag(tag.GetTag());
        }

        public MT566.SequenceDClass.Tag22H AddIndicator_D1_22H()
        {
          return new MT566.SequenceDClass.Tag22H((SwiftElement) this, this.Indicator_D1_22H.Length, (SwiftDefinitionElement) MT566.U0099U0007)
          {
            Value = string.Empty
          };
        }

        public void RemoveIndicator_D1_22H(MT566.SequenceDClass.Tag22H tag)
        {
          this.RemoveTag(tag.GetTag());
        }

        public MT566.SequenceDClass.SequenceD1Class.SequenceD1aClass AddSequenceD1a()
        {
          return this.SequenceD1a ?? new MT566.SequenceDClass.SequenceD1Class.SequenceD1aClass((SwiftElement) this, 0, true);
        }

        public void RemoveSequenceD1a(MT566.SequenceDClass.SequenceD1Class.SequenceD1aClass sequence)
        {
          foreach (SwiftTag tag in this.ListTags((SwiftElement) sequence))
            this.RemoveTag(tag);
        }

        public Tag36B AddQuantityOfFinancialInstrument_D1_36B()
        {
          return new Tag36B((SwiftElement) this, this.QuantityOfFinancialInstrument_D1_36B.Length, (SwiftDefinitionElement) MT566.U0098U0008)
          {
            Value = string.Empty
          };
        }

        public void RemoveQuantityOfFinancialInstrument_D1_36B(Tag36B tag)
        {
          this.RemoveTag(tag.GetTag());
        }

        public Tag90A AddPrice_D1_90A()
        {
          return new Tag90A((SwiftElement) this, this.Price_D1_90A.Length, (SwiftDefinitionElement) MT566.U0019U000E)
          {
            Value = string.Empty
          };
        }

        public void RemovePrice_D1_90A(Tag90A tag)
        {
          this.RemoveTag(tag.GetTag());
        }

        public Tag90B AddPrice_D1_90B()
        {
          return new Tag90B((SwiftElement) this, this.Price_D1_90B.Length, (SwiftDefinitionElement) MT566.U001EU000E)
          {
            Value = string.Empty
          };
        }

        public void RemovePrice_D1_90B(Tag90B tag)
        {
          this.RemoveTag(tag.GetTag());
        }

        public Tag92D AddRate_D1_92D()
        {
          return new Tag92D((SwiftElement) this, this.Rate_D1_92D.Length, (SwiftDefinitionElement) MT566.U0086U000E)
          {
            Value = string.Empty
          };
        }

        public void RemoveRate_D1_92D(Tag92D tag)
        {
          this.RemoveTag(tag.GetTag());
        }

        public Tag92L AddRate_D1_92L()
        {
          return new Tag92L((SwiftElement) this, this.Rate_D1_92L.Length, (SwiftDefinitionElement) MT566.U008BU000E)
          {
            Value = string.Empty
          };
        }

        public void RemoveRate_D1_92L(Tag92L tag)
        {
          this.RemoveTag(tag.GetTag());
        }

        public Tag92M AddRate_D1_92M()
        {
          return new Tag92M((SwiftElement) this, this.Rate_D1_92M.Length, (SwiftDefinitionElement) MT566.U0094U000E)
          {
            Value = string.Empty
          };
        }

        public void RemoveRate_D1_92M(Tag92M tag)
        {
          this.RemoveTag(tag.GetTag());
        }

        public Tag92N AddRate_D1_92N()
        {
          return new Tag92N((SwiftElement) this, this.Rate_D1_92N.Length, (SwiftDefinitionElement) MT566.U009CU000E)
          {
            Value = string.Empty
          };
        }

        public void RemoveRate_D1_92N(Tag92N tag)
        {
          this.RemoveTag(tag.GetTag());
        }

        public Tag98A AddDate_D1_98A()
        {
          return new Tag98A((SwiftElement) this, this.Date_D1_98A.Length, (SwiftDefinitionElement) MT566.U0006U000F)
          {
            Value = string.Empty
          };
        }

        public void RemoveDate_D1_98A(Tag98A tag)
        {
          this.RemoveTag(tag.GetTag());
        }

        public Tag98B AddDateCode_D1_98B()
        {
          return new Tag98B((SwiftElement) this, this.DateCode_D1_98B.Length, (SwiftDefinitionElement) MT566.U000EU000F)
          {
            Value = string.Empty
          };
        }

        public void RemoveDateCode_D1_98B(Tag98B tag)
        {
          this.RemoveTag(tag.GetTag());
        }

        public Tag98C AddDateTime_D1_98C()
        {
          return new Tag98C((SwiftElement) this, this.DateTime_D1_98C.Length, (SwiftDefinitionElement) MT566.U0012U000F)
          {
            Value = string.Empty
          };
        }

        public void RemoveDateTime_D1_98C(Tag98C tag)
        {
          this.RemoveTag(tag.GetTag());
        }

        public Tag98E AddDateTime_D1_98E()
        {
          return new Tag98E((SwiftElement) this, this.DateTime_D1_98E.Length, (SwiftDefinitionElement) MT566.U0017U000F)
          {
            Value = string.Empty
          };
        }

        public void RemoveDateTime_D1_98E(Tag98E tag)
        {
          this.RemoveTag(tag.GetTag());
        }

        public MT566.SequenceDClass.SequenceD1Class.SequenceD1bClass AddSequenceD1b()
        {
          return new MT566.SequenceDClass.SequenceD1Class.SequenceD1bClass((SwiftElement) this, this.SequenceD1b.Length, true);
        }

        public void RemoveSequenceD1b(MT566.SequenceDClass.SequenceD1Class.SequenceD1bClass sequence)
        {
          foreach (SwiftTag tag in this.ListTags((SwiftElement) sequence))
            this.RemoveTag(tag);
        }

        public class SequenceD1aClass : SwiftTagSequence
        {
          internal override SwiftDefinitionElement Definition
          {
            get
            {
              return (SwiftDefinitionElement) MT566.U0001U0008;
            }
          }

          [Description("Start Of Block")]
          public Tag16R StartOfBlock_D1a_16R
          {
            get
            {
              return new Tag16R((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U0002U0008);
            }
          }

          [Description("Start Of Block")]
          public Tag16R Tag16R_StartOfBlock_D1a
          {
            get
            {
              return this.StartOfBlock_D1a_16R;
            }
          }

          [Description("Place Of Safe Keeping")]
          public MT566.SequenceDClass.SequenceD1Class.SequenceD1aClass.Tag94B Place_D1a_94B
          {
            get
            {
              return new MT566.SequenceDClass.SequenceD1Class.SequenceD1aClass.Tag94B((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U0004U0008);
            }
          }

          [Description("Place Of Safe Keeping")]
          public MT566.SequenceDClass.SequenceD1Class.SequenceD1aClass.Tag94B Tag94B_Place_D1a
          {
            get
            {
              return this.Place_D1a_94B;
            }
          }

          [Description("Corporate Action Event Indicator")]
          public Tag22F Indicator_D1a_22F
          {
            get
            {
              return new Tag22F((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U000FU0008);
            }
          }

          [Description("Corporate Action Event Indicator")]
          public Tag22F Tag22F_Indicator_D1a
          {
            get
            {
              return this.Indicator_D1a_22F;
            }
          }

          [Description("Classification Type")]
          public Tag12A TypeOfFinancialInstrument_D1a_12A
          {
            get
            {
              return new Tag12A((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U0014U0008);
            }
          }

          [Description("Classification Type")]
          public Tag12A Tag12A_TypeOfFinancialInstrument_D1a
          {
            get
            {
              return this.TypeOfFinancialInstrument_D1a_12A;
            }
          }

          [Description("Classification Type")]
          public Tag12C TypeOfFinancialInstrument_D1a_12C
          {
            get
            {
              return new Tag12C((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U0018U0008);
            }
          }

          [Description("Classification Type")]
          public Tag12C Tag12C_TypeOfFinancialInstrument_D1a
          {
            get
            {
              return this.TypeOfFinancialInstrument_D1a_12C;
            }
          }

          [Description("Currency of Denomination")]
          public Tag11A Currency_D1a_11A
          {
            get
            {
              return new Tag11A((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U001BU0008);
            }
          }

          [Description("Currency of Denomination")]
          public Tag11A Tag11A_Currency_D1a
          {
            get
            {
              return this.Currency_D1a_11A;
            }
          }

          [Description("Date")]
          public Tag98A[] Date_D1a_98A
          {
            get
            {
              int index = -1;
              List<Tag98A> list = new List<Tag98A>();
              int count;
              do
              {
                ++index;
                Tag98A tag98A = new Tag98A((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U001EU0008);
                count = this.ListTags((SwiftElement) tag98A).Count;
                if (count > 0)
                  list.Add(tag98A);
              }
              while (count > 0);
              return list.ToArray();
            }
          }

          [Description("Date")]
          public Tag98A[] Tag98A_Date_D1a
          {
            get
            {
              return this.Date_D1a_98A;
            }
          }

          [Description("Price")]
          public Tag90A IssuePrice_D1a_90A
          {
            get
            {
              return new Tag90A((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U0081U0008);
            }
          }

          [Description("Price")]
          public Tag90A Tag90A_IssuePrice_D1a
          {
            get
            {
              return this.IssuePrice_D1a_90A;
            }
          }

          [Description("Price")]
          public Tag90B IssuePrice_D1a_90B
          {
            get
            {
              return new Tag90B((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U0087U0008);
            }
          }

          [Description("Price")]
          public Tag90B Tag90B_IssuePrice_D1a
          {
            get
            {
              return this.IssuePrice_D1a_90B;
            }
          }

          [Description("Rate")]
          public Tag92A[] Rate_D1a_92A
          {
            get
            {
              int index = -1;
              List<Tag92A> list = new List<Tag92A>();
              int count;
              do
              {
                ++index;
                Tag92A tag92A = new Tag92A((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U008EU0008);
                count = this.ListTags((SwiftElement) tag92A).Count;
                if (count > 0)
                  list.Add(tag92A);
              }
              while (count > 0);
              return list.ToArray();
            }
          }

          [Description("Rate")]
          public Tag92A[] Tag92A_Rate_D1a
          {
            get
            {
              return this.Rate_D1a_92A;
            }
          }

          [Description("Quantity of Financial Instrument")]
          public Tag36B[] QuantityOfFinancialInstrument_D1a_36B
          {
            get
            {
              int index = -1;
              List<Tag36B> list = new List<Tag36B>();
              int count;
              do
              {
                ++index;
                Tag36B tag36B = new Tag36B((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U0091U0008);
                count = this.ListTags((SwiftElement) tag36B).Count;
                if (count > 0)
                  list.Add(tag36B);
              }
              while (count > 0);
              return list.ToArray();
            }
          }

          [Description("Quantity of Financial Instrument")]
          public Tag36B[] Tag36B_QuantityOfFinancialInstrument_D1a
          {
            get
            {
              return this.QuantityOfFinancialInstrument_D1a_36B;
            }
          }

          [Description("End Of Block")]
          public Tag16S EndOfBlock_D1a_16S
          {
            get
            {
              return new Tag16S((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U0096U0008);
            }
          }

          [Description("End Of Block")]
          public Tag16S Tag16S_EndOfBlock_D1a
          {
            get
            {
              return this.EndOfBlock_D1a_16S;
            }
          }

          internal SequenceD1aClass(SwiftElement parent, int index, bool createTags)
            : base(parent, index, createTags)
          {
          }

          public Tag98A AddDate_D1a_98A()
          {
            return new Tag98A((SwiftElement) this, this.Date_D1a_98A.Length, (SwiftDefinitionElement) MT566.U001EU0008)
            {
              Value = string.Empty
            };
          }

          public void RemoveDate_D1a_98A(Tag98A tag)
          {
            this.RemoveTag(tag.GetTag());
          }

          public Tag92A AddRate_D1a_92A()
          {
            return new Tag92A((SwiftElement) this, this.Rate_D1a_92A.Length, (SwiftDefinitionElement) MT566.U008EU0008)
            {
              Value = string.Empty
            };
          }

          public void RemoveRate_D1a_92A(Tag92A tag)
          {
            this.RemoveTag(tag.GetTag());
          }

          public Tag36B AddQuantityOfFinancialInstrument_D1a_36B()
          {
            return new Tag36B((SwiftElement) this, this.QuantityOfFinancialInstrument_D1a_36B.Length, (SwiftDefinitionElement) MT566.U0091U0008)
            {
              Value = string.Empty
            };
          }

          public void RemoveQuantityOfFinancialInstrument_D1a_36B(Tag36B tag)
          {
            this.RemoveTag(tag.GetTag());
          }

          public class Tag94B : SwiftTagWrapper
          {
            public string Value
            {
              get
              {
                return this.GetValue();
              }
              set
              {
                this.SetValue("94B", value);
              }
            }

            internal Tag94B(SwiftElement parent, int index, SwiftDefinitionElement definition)
              : base(parent, index, definition)
            {
            }
          }
        }

        public class Tag94B : SwiftTagWrapper
        {
          public string Value
          {
            get
            {
              return this.GetValue();
            }
            set
            {
              this.SetValue("94B", value);
            }
          }

          internal Tag94B(SwiftElement parent, int index, SwiftDefinitionElement definition)
            : base(parent, index, definition)
          {
          }
        }

        public class SequenceD1bClass : SwiftTagSequence
        {
          internal override SwiftDefinitionElement Definition
          {
            get
            {
              return (SwiftDefinitionElement) MT566.U0080U000F;
            }
          }

          [Description("Start Of Block")]
          public Tag16R StartOfBlock_D1b_16R
          {
            get
            {
              return new Tag16R((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U0081U000F);
            }
          }

          [Description("Start Of Block")]
          public Tag16R Tag16R_StartOfBlock_D1b
          {
            get
            {
              return this.StartOfBlock_D1b_16R;
            }
          }

          [Description("Party")]
          public Tag95C[] Party_D1b_95C
          {
            get
            {
              int index = -1;
              List<Tag95C> list = new List<Tag95C>();
              int count;
              do
              {
                ++index;
                Tag95C tag95C = new Tag95C((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U0084U000F);
                count = this.ListTags((SwiftElement) tag95C).Count;
                if (count > 0)
                  list.Add(tag95C);
              }
              while (count > 0);
              return list.ToArray();
            }
          }

          [Description("Party")]
          public Tag95C[] Tag95C_Party_D1b
          {
            get
            {
              return this.Party_D1b_95C;
            }
          }

          [Description("Party")]
          public Tag95P[] Party_D1b_95P
          {
            get
            {
              int index = -1;
              List<Tag95P> list = new List<Tag95P>();
              int count;
              do
              {
                ++index;
                Tag95P tag95P = new Tag95P((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U0088U000F);
                count = this.ListTags((SwiftElement) tag95P).Count;
                if (count > 0)
                  list.Add(tag95P);
              }
              while (count > 0);
              return list.ToArray();
            }
          }

          [Description("Party")]
          public Tag95P[] Tag95P_Party_D1b
          {
            get
            {
              return this.Party_D1b_95P;
            }
          }

          [Description("Party")]
          public MT566.SequenceDClass.SequenceD1Class.SequenceD1bClass.Tag95R[] Party_D1b_95R
          {
            get
            {
              int index = -1;
              List<MT566.SequenceDClass.SequenceD1Class.SequenceD1bClass.Tag95R> list = new List<MT566.SequenceDClass.SequenceD1Class.SequenceD1bClass.Tag95R>();
              int count;
              do
              {
                ++index;
                MT566.SequenceDClass.SequenceD1Class.SequenceD1bClass.Tag95R tag95R = new MT566.SequenceDClass.SequenceD1Class.SequenceD1bClass.Tag95R((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U008BU000F);
                count = this.ListTags((SwiftElement) tag95R).Count;
                if (count > 0)
                  list.Add(tag95R);
              }
              while (count > 0);
              return list.ToArray();
            }
          }

          [Description("Party")]
          public MT566.SequenceDClass.SequenceD1Class.SequenceD1bClass.Tag95R[] Tag95R_Party_D1b
          {
            get
            {
              return this.Party_D1b_95R;
            }
          }

          [Description("Party")]
          public Tag95Q[] Party_D1b_95Q
          {
            get
            {
              int index = -1;
              List<Tag95Q> list = new List<Tag95Q>();
              int count;
              do
              {
                ++index;
                Tag95Q tag95Q = new Tag95Q((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U0090U000F);
                count = this.ListTags((SwiftElement) tag95Q).Count;
                if (count > 0)
                  list.Add(tag95Q);
              }
              while (count > 0);
              return list.ToArray();
            }
          }

          [Description("Party")]
          public Tag95Q[] Tag95Q_Party_D1b
          {
            get
            {
              return this.Party_D1b_95Q;
            }
          }

          [Description("Party")]
          public MT566.SequenceDClass.SequenceD1Class.SequenceD1bClass.Tag95S[] Party_D1b_95S
          {
            get
            {
              int index = -1;
              List<MT566.SequenceDClass.SequenceD1Class.SequenceD1bClass.Tag95S> list = new List<MT566.SequenceDClass.SequenceD1Class.SequenceD1bClass.Tag95S>();
              int count;
              do
              {
                ++index;
                MT566.SequenceDClass.SequenceD1Class.SequenceD1bClass.Tag95S tag95S = new MT566.SequenceDClass.SequenceD1Class.SequenceD1bClass.Tag95S((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U0093U000F);
                count = this.ListTags((SwiftElement) tag95S).Count;
                if (count > 0)
                  list.Add(tag95S);
              }
              while (count > 0);
              return list.ToArray();
            }
          }

          [Description("Party")]
          public MT566.SequenceDClass.SequenceD1Class.SequenceD1bClass.Tag95S[] Tag95S_Party_D1b
          {
            get
            {
              return this.Party_D1b_95S;
            }
          }

          [Description("Safekeeping Account")]
          public Tag97A Account_D1b_97A
          {
            get
            {
              return new Tag97A((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U0099U000F);
            }
          }

          [Description("Safekeeping Account")]
          public Tag97A Tag97A_Account_D1b
          {
            get
            {
              return this.Account_D1b_97A;
            }
          }

          [Description("Reference")]
          public Tag20C Reference_D1b_20C
          {
            get
            {
              return new Tag20C((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U009CU000F);
            }
          }

          [Description("Reference")]
          public Tag20C Tag20C_Reference_D1b
          {
            get
            {
              return this.Reference_D1b_20C;
            }
          }

          [Description("Narrative")]
          public Tag70E[] Narrative_D1b_70E
          {
            get
            {
              int index = -1;
              List<Tag70E> list = new List<Tag70E>();
              int count;
              do
              {
                ++index;
                Tag70E tag70E = new Tag70E((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U009FU000F);
                count = this.ListTags((SwiftElement) tag70E).Count;
                if (count > 0)
                  list.Add(tag70E);
              }
              while (count > 0);
              return list.ToArray();
            }
          }

          [Description("Narrative")]
          public Tag70E[] Tag70E_Narrative_D1b
          {
            get
            {
              return this.Narrative_D1b_70E;
            }
          }

          [Description("End Of Block")]
          public Tag16S EndOfBlock_D1b_16S
          {
            get
            {
              return new Tag16S((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U0003U0010);
            }
          }

          [Description("End Of Block")]
          public Tag16S Tag16S_EndOfBlock_D1b
          {
            get
            {
              return this.EndOfBlock_D1b_16S;
            }
          }

          internal SequenceD1bClass(SwiftElement parent, int index, bool createTags)
            : base(parent, index, createTags)
          {
          }

          public Tag95C AddParty_D1b_95C()
          {
            return new Tag95C((SwiftElement) this, this.Party_D1b_95C.Length, (SwiftDefinitionElement) MT566.U0084U000F)
            {
              Value = string.Empty
            };
          }

          public void RemoveParty_D1b_95C(Tag95C tag)
          {
            this.RemoveTag(tag.GetTag());
          }

          public Tag95P AddParty_D1b_95P()
          {
            return new Tag95P((SwiftElement) this, this.Party_D1b_95P.Length, (SwiftDefinitionElement) MT566.U0088U000F)
            {
              Value = string.Empty
            };
          }

          public void RemoveParty_D1b_95P(Tag95P tag)
          {
            this.RemoveTag(tag.GetTag());
          }

          public MT566.SequenceDClass.SequenceD1Class.SequenceD1bClass.Tag95R AddParty_D1b_95R()
          {
            return new MT566.SequenceDClass.SequenceD1Class.SequenceD1bClass.Tag95R((SwiftElement) this, this.Party_D1b_95R.Length, (SwiftDefinitionElement) MT566.U008BU000F)
            {
              Value = string.Empty
            };
          }

          public void RemoveParty_D1b_95R(MT566.SequenceDClass.SequenceD1Class.SequenceD1bClass.Tag95R tag)
          {
            this.RemoveTag(tag.GetTag());
          }

          public Tag95Q AddParty_D1b_95Q()
          {
            return new Tag95Q((SwiftElement) this, this.Party_D1b_95Q.Length, (SwiftDefinitionElement) MT566.U0090U000F)
            {
              Value = string.Empty
            };
          }

          public void RemoveParty_D1b_95Q(Tag95Q tag)
          {
            this.RemoveTag(tag.GetTag());
          }

          public MT566.SequenceDClass.SequenceD1Class.SequenceD1bClass.Tag95S AddParty_D1b_95S()
          {
            return new MT566.SequenceDClass.SequenceD1Class.SequenceD1bClass.Tag95S((SwiftElement) this, this.Party_D1b_95S.Length, (SwiftDefinitionElement) MT566.U0093U000F)
            {
              Value = string.Empty
            };
          }

          public void RemoveParty_D1b_95S(MT566.SequenceDClass.SequenceD1Class.SequenceD1bClass.Tag95S tag)
          {
            this.RemoveTag(tag.GetTag());
          }

          public Tag70E AddNarrative_D1b_70E()
          {
            return new Tag70E((SwiftElement) this, this.Narrative_D1b_70E.Length, (SwiftDefinitionElement) MT566.U009FU000F)
            {
              Value = string.Empty
            };
          }

          public void RemoveNarrative_D1b_70E(Tag70E tag)
          {
            this.RemoveTag(tag.GetTag());
          }

          public class Tag95R : SwiftTagWrapper
          {
            public string Value
            {
              get
              {
                return this.GetValue();
              }
              set
              {
                this.SetValue("95R", value);
              }
            }

            internal Tag95R(SwiftElement parent, int index, SwiftDefinitionElement definition)
              : base(parent, index, definition)
            {
            }
          }

          public class Tag95S : SwiftTagWrapper
          {
            public string Value
            {
              get
              {
                return this.GetValue();
              }
              set
              {
                this.SetValue("95S", value);
              }
            }

            internal Tag95S(SwiftElement parent, int index, SwiftDefinitionElement definition)
              : base(parent, index, definition)
            {
            }
          }
        }
      }

      public class SequenceD2Class : SwiftTagSequence
      {
        internal override SwiftDefinitionElement Definition
        {
          get
          {
            return (SwiftDefinitionElement) MT566.U0007U0010;
          }
        }

        [Description("Start Of Block")]
        public Tag16R StartOfBlock_D2_16R
        {
          get
          {
            return new Tag16R((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U0008U0010);
          }
        }

        [Description("Start Of Block")]
        public Tag16R Tag16R_StartOfBlock_D2
        {
          get
          {
            return this.StartOfBlock_D2_16R;
          }
        }

        [Description("Indicator")]
        public MT566.SequenceDClass.SequenceD2Class.Tag22H[] Indicator_D2_22H
        {
          get
          {
            int index = -1;
            List<MT566.SequenceDClass.SequenceD2Class.Tag22H> list = new List<MT566.SequenceDClass.SequenceD2Class.Tag22H>();
            int count;
            do
            {
              ++index;
              MT566.SequenceDClass.SequenceD2Class.Tag22H tag22H = new MT566.SequenceDClass.SequenceD2Class.Tag22H((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U0010U0010);
              count = this.ListTags((SwiftElement) tag22H).Count;
              if (count > 0)
                list.Add(tag22H);
            }
            while (count > 0);
            return list.ToArray();
          }
        }

        [Description("Indicator")]
        public MT566.SequenceDClass.SequenceD2Class.Tag22H[] Tag22H_Indicator_D2
        {
          get
          {
            return this.Indicator_D2_22H;
          }
        }

        [Description("Corporate Action Event Indicator")]
        public Tag22F[] Indicator_D2_22F
        {
          get
          {
            int index = -1;
            List<Tag22F> list = new List<Tag22F>();
            int count;
            do
            {
              ++index;
              Tag22F tag22F = new Tag22F((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U0013U0010);
              count = this.ListTags((SwiftElement) tag22F).Count;
              if (count > 0)
                list.Add(tag22F);
            }
            while (count > 0);
            return list.ToArray();
          }
        }

        [Description("Corporate Action Event Indicator")]
        public Tag22F[] Tag22F_Indicator_D2
        {
          get
          {
            return this.Indicator_D2_22F;
          }
        }

        [Description("Account")]
        public Tag97A Account_D2_97A
        {
          get
          {
            return new Tag97A((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U0018U0010);
          }
        }

        [Description("Account")]
        public Tag97A Tag97A_Account_D2
        {
          get
          {
            return this.Account_D2_97A;
          }
        }

        [Description("Account")]
        public Tag97E Account_D2_97E
        {
          get
          {
            return new Tag97E((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U001BU0010);
          }
        }

        [Description("Account")]
        public Tag97E Tag97E_Account_D2
        {
          get
          {
            return this.Account_D2_97E;
          }
        }

        [Description("Cash Parties")]
        public MT566.SequenceDClass.SequenceD2Class.SequenceD2aClass[] SequenceD2a
        {
          get
          {
            int index = -1;
            List<MT566.SequenceDClass.SequenceD2Class.SequenceD2aClass> list = new List<MT566.SequenceDClass.SequenceD2Class.SequenceD2aClass>();
            int count;
            do
            {
              ++index;
              MT566.SequenceDClass.SequenceD2Class.SequenceD2aClass sequenceD2aClass = new MT566.SequenceDClass.SequenceD2Class.SequenceD2aClass((SwiftElement) this, index, false);
              count = this.ListTags((SwiftElement) sequenceD2aClass).Count;
              if (count > 0)
                list.Add(sequenceD2aClass);
            }
            while (count > 0);
            return list.ToArray();
          }
        }

        [Description("Amount")]
        public Tag19B[] Amount_D2_19B
        {
          get
          {
            int index = -1;
            List<Tag19B> list = new List<Tag19B>();
            int count;
            do
            {
              ++index;
              Tag19B tag19B = new Tag19B((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U0003U0011);
              count = this.ListTags((SwiftElement) tag19B).Count;
              if (count > 0)
                list.Add(tag19B);
            }
            while (count > 0);
            return list.ToArray();
          }
        }

        [Description("Amount")]
        public Tag19B[] Tag19B_Amount_D2
        {
          get
          {
            return this.Amount_D2_19B;
          }
        }

        [Description("Payment Date")]
        public Tag98A[] Date_D2_98A
        {
          get
          {
            int index = -1;
            List<Tag98A> list = new List<Tag98A>();
            int count;
            do
            {
              ++index;
              Tag98A tag98A = new Tag98A((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U000EU0011);
              count = this.ListTags((SwiftElement) tag98A).Count;
              if (count > 0)
                list.Add(tag98A);
            }
            while (count > 0);
            return list.ToArray();
          }
        }

        [Description("Payment Date")]
        public Tag98A[] Tag98A_Date_D2
        {
          get
          {
            return this.Date_D2_98A;
          }
        }

        [Description("Payment Date")]
        public Tag98C[] DateTime_D2_98C
        {
          get
          {
            int index = -1;
            List<Tag98C> list = new List<Tag98C>();
            int count;
            do
            {
              ++index;
              Tag98C tag98C = new Tag98C((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U0011U0011);
              count = this.ListTags((SwiftElement) tag98C).Count;
              if (count > 0)
                list.Add(tag98C);
            }
            while (count > 0);
            return list.ToArray();
          }
        }

        [Description("Payment Date")]
        public Tag98C[] Tag98C_DateTime_D2
        {
          get
          {
            return this.DateTime_D2_98C;
          }
        }

        [Description("Preparation Date/Time")]
        public Tag98E[] DateTime_D2_98E
        {
          get
          {
            int index = -1;
            List<Tag98E> list = new List<Tag98E>();
            int count;
            do
            {
              ++index;
              Tag98E tag98E = new Tag98E((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U0016U0011);
              count = this.ListTags((SwiftElement) tag98E).Count;
              if (count > 0)
                list.Add(tag98E);
            }
            while (count > 0);
            return list.ToArray();
          }
        }

        [Description("Preparation Date/Time")]
        public Tag98E[] Tag98E_DateTime_D2
        {
          get
          {
            return this.DateTime_D2_98E;
          }
        }

        [Description("Exchange Rate")]
        public Tag92B Rate_D2_92B
        {
          get
          {
            return new Tag92B((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U007FU0011);
          }
        }

        [Description("Exchange Rate")]
        public Tag92B Tag92B_Rate_D2
        {
          get
          {
            return this.Rate_D2_92B;
          }
        }

        [Description("Price")]
        public Tag90A Price_D2_90A
        {
          get
          {
            return new Tag90A((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U0087U0011);
          }
        }

        [Description("Price")]
        public Tag90A Tag90A_Price_D2
        {
          get
          {
            return this.Price_D2_90A;
          }
        }

        [Description("Price")]
        public Tag90B Price_D2_90B
        {
          get
          {
            return new Tag90B((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U008CU0011);
          }
        }

        [Description("Price")]
        public Tag90B Tag90B_Price_D2
        {
          get
          {
            return this.Price_D2_90B;
          }
        }

        [Description("Price")]
        public Tag90F Price_D2_90F
        {
          get
          {
            return new Tag90F((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U0093U0011);
          }
        }

        [Description("Price")]
        public Tag90F Tag90F_Price_D2
        {
          get
          {
            return this.Price_D2_90F;
          }
        }

        [Description("Price")]
        public Tag90J Price_D2_90J
        {
          get
          {
            return new Tag90J((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U009CU0011);
          }
        }

        [Description("Price")]
        public Tag90J Tag90J_Price_D2
        {
          get
          {
            return this.Price_D2_90J;
          }
        }

        [Description("Tax Voucher Details")]
        public MT566.SequenceDClass.SequenceD2Class.SequenceD2bClass SequenceD2b
        {
          get
          {
            MT566.SequenceDClass.SequenceD2Class.SequenceD2bClass sequenceD2bClass = new MT566.SequenceDClass.SequenceD2Class.SequenceD2bClass((SwiftElement) this, 0, false);
            if (this.ListTags((SwiftElement) sequenceD2bClass).Count > 0)
              return sequenceD2bClass;
            else
              return (MT566.SequenceDClass.SequenceD2Class.SequenceD2bClass) null;
          }
        }

        [Description("End Of Block")]
        public Tag16S EndOfBlock_D2_16S
        {
          get
          {
            return new Tag16S((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U001DU0012);
          }
        }

        [Description("End Of Block")]
        public Tag16S Tag16S_EndOfBlock_D2
        {
          get
          {
            return this.EndOfBlock_D2_16S;
          }
        }

        internal SequenceD2Class(SwiftElement parent, int index, bool createTags)
          : base(parent, index, createTags)
        {
        }

        public MT566.SequenceDClass.SequenceD2Class.Tag22H AddIndicator_D2_22H()
        {
          return new MT566.SequenceDClass.SequenceD2Class.Tag22H((SwiftElement) this, this.Indicator_D2_22H.Length, (SwiftDefinitionElement) MT566.U0010U0010)
          {
            Value = string.Empty
          };
        }

        public void RemoveIndicator_D2_22H(MT566.SequenceDClass.SequenceD2Class.Tag22H tag)
        {
          this.RemoveTag(tag.GetTag());
        }

        public Tag22F AddIndicator_D2_22F()
        {
          return new Tag22F((SwiftElement) this, this.Indicator_D2_22F.Length, (SwiftDefinitionElement) MT566.U0013U0010)
          {
            Value = string.Empty
          };
        }

        public void RemoveIndicator_D2_22F(Tag22F tag)
        {
          this.RemoveTag(tag.GetTag());
        }

        public MT566.SequenceDClass.SequenceD2Class.SequenceD2aClass AddSequenceD2a()
        {
          return new MT566.SequenceDClass.SequenceD2Class.SequenceD2aClass((SwiftElement) this, this.SequenceD2a.Length, true);
        }

        public void RemoveSequenceD2a(MT566.SequenceDClass.SequenceD2Class.SequenceD2aClass sequence)
        {
          foreach (SwiftTag tag in this.ListTags((SwiftElement) sequence))
            this.RemoveTag(tag);
        }

        public Tag19B AddAmount_D2_19B()
        {
          return new Tag19B((SwiftElement) this, this.Amount_D2_19B.Length, (SwiftDefinitionElement) MT566.U0003U0011)
          {
            Value = string.Empty
          };
        }

        public void RemoveAmount_D2_19B(Tag19B tag)
        {
          this.RemoveTag(tag.GetTag());
        }

        public Tag98A AddDate_D2_98A()
        {
          return new Tag98A((SwiftElement) this, this.Date_D2_98A.Length, (SwiftDefinitionElement) MT566.U000EU0011)
          {
            Value = string.Empty
          };
        }

        public void RemoveDate_D2_98A(Tag98A tag)
        {
          this.RemoveTag(tag.GetTag());
        }

        public Tag98C AddDateTime_D2_98C()
        {
          return new Tag98C((SwiftElement) this, this.DateTime_D2_98C.Length, (SwiftDefinitionElement) MT566.U0011U0011)
          {
            Value = string.Empty
          };
        }

        public void RemoveDateTime_D2_98C(Tag98C tag)
        {
          this.RemoveTag(tag.GetTag());
        }

        public Tag98E AddDateTime_D2_98E()
        {
          return new Tag98E((SwiftElement) this, this.DateTime_D2_98E.Length, (SwiftDefinitionElement) MT566.U0016U0011)
          {
            Value = string.Empty
          };
        }

        public void RemoveDateTime_D2_98E(Tag98E tag)
        {
          this.RemoveTag(tag.GetTag());
        }

        public MT566.SequenceDClass.SequenceD2Class.SequenceD2bClass AddSequenceD2b()
        {
          return this.SequenceD2b ?? new MT566.SequenceDClass.SequenceD2Class.SequenceD2bClass((SwiftElement) this, 0, true);
        }

        public void RemoveSequenceD2b(MT566.SequenceDClass.SequenceD2Class.SequenceD2bClass sequence)
        {
          foreach (SwiftTag tag in this.ListTags((SwiftElement) sequence))
            this.RemoveTag(tag);
        }

        public class Tag22H : SwiftTagWrapper
        {
          public string Value
          {
            get
            {
              return this.GetValue();
            }
            set
            {
              this.SetValue("22H", value);
            }
          }

          internal Tag22H(SwiftElement parent, int index, SwiftDefinitionElement definition)
            : base(parent, index, definition)
          {
          }
        }

        public class SequenceD2aClass : SwiftTagSequence
        {
          internal override SwiftDefinitionElement Definition
          {
            get
            {
              return (SwiftDefinitionElement) MT566.U001EU0010;
            }
          }

          [Description("Start Of Block")]
          public Tag16R StartOfBlock_D2a_16R
          {
            get
            {
              return new Tag16R((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U001FU0010);
            }
          }

          [Description("Start Of Block")]
          public Tag16R Tag16R_StartOfBlock_D2a
          {
            get
            {
              return this.StartOfBlock_D2a_16R;
            }
          }

          [Description("Party")]
          public Tag95P[] Party_D2a_95P
          {
            get
            {
              int index = -1;
              List<Tag95P> list = new List<Tag95P>();
              int count;
              do
              {
                ++index;
                Tag95P tag95P = new Tag95P((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U0081U0010);
                count = this.ListTags((SwiftElement) tag95P).Count;
                if (count > 0)
                  list.Add(tag95P);
              }
              while (count > 0);
              return list.ToArray();
            }
          }

          [Description("Party")]
          public Tag95P[] Tag95P_Party_D2a
          {
            get
            {
              return this.Party_D2a_95P;
            }
          }

          [Description("Party")]
          public MT566.SequenceDClass.SequenceD2Class.SequenceD2aClass.Tag95R[] Party_D2a_95R
          {
            get
            {
              int index = -1;
              List<MT566.SequenceDClass.SequenceD2Class.SequenceD2aClass.Tag95R> list = new List<MT566.SequenceDClass.SequenceD2Class.SequenceD2aClass.Tag95R>();
              int count;
              do
              {
                ++index;
                MT566.SequenceDClass.SequenceD2Class.SequenceD2aClass.Tag95R tag95R = new MT566.SequenceDClass.SequenceD2Class.SequenceD2aClass.Tag95R((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U0084U0010);
                count = this.ListTags((SwiftElement) tag95R).Count;
                if (count > 0)
                  list.Add(tag95R);
              }
              while (count > 0);
              return list.ToArray();
            }
          }

          [Description("Party")]
          public MT566.SequenceDClass.SequenceD2Class.SequenceD2aClass.Tag95R[] Tag95R_Party_D2a
          {
            get
            {
              return this.Party_D2a_95R;
            }
          }

          [Description("Party")]
          public Tag95Q[] Party_D2a_95Q
          {
            get
            {
              int index = -1;
              List<Tag95Q> list = new List<Tag95Q>();
              int count;
              do
              {
                ++index;
                Tag95Q tag95Q = new Tag95Q((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U008AU0010);
                count = this.ListTags((SwiftElement) tag95Q).Count;
                if (count > 0)
                  list.Add(tag95Q);
              }
              while (count > 0);
              return list.ToArray();
            }
          }

          [Description("Party")]
          public Tag95Q[] Tag95Q_Party_D2a
          {
            get
            {
              return this.Party_D2a_95Q;
            }
          }

          [Description("Party")]
          public MT566.SequenceDClass.SequenceD2Class.SequenceD2aClass.Tag95S[] Party_D2a_95S
          {
            get
            {
              int index = -1;
              List<MT566.SequenceDClass.SequenceD2Class.SequenceD2aClass.Tag95S> list = new List<MT566.SequenceDClass.SequenceD2Class.SequenceD2aClass.Tag95S>();
              int count;
              do
              {
                ++index;
                MT566.SequenceDClass.SequenceD2Class.SequenceD2aClass.Tag95S tag95S = new MT566.SequenceDClass.SequenceD2Class.SequenceD2aClass.Tag95S((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U008DU0010);
                count = this.ListTags((SwiftElement) tag95S).Count;
                if (count > 0)
                  list.Add(tag95S);
              }
              while (count > 0);
              return list.ToArray();
            }
          }

          [Description("Party")]
          public MT566.SequenceDClass.SequenceD2Class.SequenceD2aClass.Tag95S[] Tag95S_Party_D2a
          {
            get
            {
              return this.Party_D2a_95S;
            }
          }

          [Description("Cash Account")]
          public Tag97A Account_D2a_97A
          {
            get
            {
              return new Tag97A((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U0094U0010);
            }
          }

          [Description("Cash Account")]
          public Tag97A Tag97A_Account_D2a
          {
            get
            {
              return this.Account_D2a_97A;
            }
          }

          [Description("Account")]
          public Tag97E Account_D2a_97E
          {
            get
            {
              return new Tag97E((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U0097U0010);
            }
          }

          [Description("Account")]
          public Tag97E Tag97E_Account_D2a
          {
            get
            {
              return this.Account_D2a_97E;
            }
          }

          [Description("Reference")]
          public Tag20C Reference_D2a_20C
          {
            get
            {
              return new Tag20C((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U009AU0010);
            }
          }

          [Description("Reference")]
          public Tag20C Tag20C_Reference_D2a
          {
            get
            {
              return this.Reference_D2a_20C;
            }
          }

          [Description("Narrative")]
          public Tag70E Narrative_D2a_70E
          {
            get
            {
              return new Tag70E((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U009DU0010);
            }
          }

          [Description("Narrative")]
          public Tag70E Tag70E_Narrative_D2a
          {
            get
            {
              return this.Narrative_D2a_70E;
            }
          }

          [Description("End Of Block")]
          public Tag16S EndOfBlock_D2a_16S
          {
            get
            {
              return new Tag16S((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U0001U0011);
            }
          }

          [Description("End Of Block")]
          public Tag16S Tag16S_EndOfBlock_D2a
          {
            get
            {
              return this.EndOfBlock_D2a_16S;
            }
          }

          internal SequenceD2aClass(SwiftElement parent, int index, bool createTags)
            : base(parent, index, createTags)
          {
          }

          public Tag95P AddParty_D2a_95P()
          {
            return new Tag95P((SwiftElement) this, this.Party_D2a_95P.Length, (SwiftDefinitionElement) MT566.U0081U0010)
            {
              Value = string.Empty
            };
          }

          public void RemoveParty_D2a_95P(Tag95P tag)
          {
            this.RemoveTag(tag.GetTag());
          }

          public MT566.SequenceDClass.SequenceD2Class.SequenceD2aClass.Tag95R AddParty_D2a_95R()
          {
            return new MT566.SequenceDClass.SequenceD2Class.SequenceD2aClass.Tag95R((SwiftElement) this, this.Party_D2a_95R.Length, (SwiftDefinitionElement) MT566.U0084U0010)
            {
              Value = string.Empty
            };
          }

          public void RemoveParty_D2a_95R(MT566.SequenceDClass.SequenceD2Class.SequenceD2aClass.Tag95R tag)
          {
            this.RemoveTag(tag.GetTag());
          }

          public Tag95Q AddParty_D2a_95Q()
          {
            return new Tag95Q((SwiftElement) this, this.Party_D2a_95Q.Length, (SwiftDefinitionElement) MT566.U008AU0010)
            {
              Value = string.Empty
            };
          }

          public void RemoveParty_D2a_95Q(Tag95Q tag)
          {
            this.RemoveTag(tag.GetTag());
          }

          public MT566.SequenceDClass.SequenceD2Class.SequenceD2aClass.Tag95S AddParty_D2a_95S()
          {
            return new MT566.SequenceDClass.SequenceD2Class.SequenceD2aClass.Tag95S((SwiftElement) this, this.Party_D2a_95S.Length, (SwiftDefinitionElement) MT566.U008DU0010)
            {
              Value = string.Empty
            };
          }

          public void RemoveParty_D2a_95S(MT566.SequenceDClass.SequenceD2Class.SequenceD2aClass.Tag95S tag)
          {
            this.RemoveTag(tag.GetTag());
          }

          public class Tag95R : SwiftTagWrapper
          {
            public string Value
            {
              get
              {
                return this.GetValue();
              }
              set
              {
                this.SetValue("95R", value);
              }
            }

            internal Tag95R(SwiftElement parent, int index, SwiftDefinitionElement definition)
              : base(parent, index, definition)
            {
            }
          }

          public class Tag95S : SwiftTagWrapper
          {
            public string Value
            {
              get
              {
                return this.GetValue();
              }
              set
              {
                this.SetValue("95S", value);
              }
            }

            internal Tag95S(SwiftElement parent, int index, SwiftDefinitionElement definition)
              : base(parent, index, definition)
            {
            }
          }
        }

        public class SequenceD2bClass : SwiftTagSequence
        {
          internal override SwiftDefinitionElement Definition
          {
            get
            {
              return (SwiftDefinitionElement) MT566.U0007U0012;
            }
          }

          [Description("Start Of Block")]
          public Tag16R StartOfBlock_D2b_16R
          {
            get
            {
              return new Tag16R((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U0008U0012);
            }
          }

          [Description("Start Of Block")]
          public Tag16R Tag16R_StartOfBlock_D2b
          {
            get
            {
              return this.StartOfBlock_D2b_16R;
            }
          }

          [Description("Reference")]
          public Tag20C Reference_D2b_20C
          {
            get
            {
              return new Tag20C((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U000FU0012);
            }
          }

          [Description("Reference")]
          public Tag20C Tag20C_Reference_D2b
          {
            get
            {
              return this.Reference_D2b_20C;
            }
          }

          [Description("Payment Date")]
          public Tag98A[] Date_D2b_98A
          {
            get
            {
              int index = -1;
              List<Tag98A> list = new List<Tag98A>();
              int count;
              do
              {
                ++index;
                Tag98A tag98A = new Tag98A((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U0013U0012);
                count = this.ListTags((SwiftElement) tag98A).Count;
                if (count > 0)
                  list.Add(tag98A);
              }
              while (count > 0);
              return list.ToArray();
            }
          }

          [Description("Payment Date")]
          public Tag98A[] Tag98A_Date_D2b
          {
            get
            {
              return this.Date_D2b_98A;
            }
          }

          [Description("Payment Date")]
          public Tag98C[] DateTime_D2b_98C
          {
            get
            {
              int index = -1;
              List<Tag98C> list = new List<Tag98C>();
              int count;
              do
              {
                ++index;
                Tag98C tag98C = new Tag98C((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U0016U0012);
                count = this.ListTags((SwiftElement) tag98C).Count;
                if (count > 0)
                  list.Add(tag98C);
              }
              while (count > 0);
              return list.ToArray();
            }
          }

          [Description("Payment Date")]
          public Tag98C[] Tag98C_DateTime_D2b
          {
            get
            {
              return this.DateTime_D2b_98C;
            }
          }

          [Description("End Of Block")]
          public Tag16S EndOfBlock_D2b_16S
          {
            get
            {
              return new Tag16S((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U001BU0012);
            }
          }

          [Description("End Of Block")]
          public Tag16S Tag16S_EndOfBlock_D2b
          {
            get
            {
              return this.EndOfBlock_D2b_16S;
            }
          }

          internal SequenceD2bClass(SwiftElement parent, int index, bool createTags)
            : base(parent, index, createTags)
          {
          }

          public Tag98A AddDate_D2b_98A()
          {
            return new Tag98A((SwiftElement) this, this.Date_D2b_98A.Length, (SwiftDefinitionElement) MT566.U0013U0012)
            {
              Value = string.Empty
            };
          }

          public void RemoveDate_D2b_98A(Tag98A tag)
          {
            this.RemoveTag(tag.GetTag());
          }

          public Tag98C AddDateTime_D2b_98C()
          {
            return new Tag98C((SwiftElement) this, this.DateTime_D2b_98C.Length, (SwiftDefinitionElement) MT566.U0016U0012)
            {
              Value = string.Empty
            };
          }

          public void RemoveDateTime_D2b_98C(Tag98C tag)
          {
            this.RemoveTag(tag.GetTag());
          }
        }
      }
    }

    public class SequenceEClass : SwiftTagSequence
    {
      internal override SwiftDefinitionElement Definition
      {
        get
        {
          return (SwiftDefinitionElement) MT566.U0080U0012;
        }
      }

      [Description("Start Of Block")]
      public Tag16R StartOfBlock_E_16R
      {
        get
        {
          return new Tag16R((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U0081U0012);
        }
      }

      [Description("Start Of Block")]
      public Tag16R Tag16R_StartOfBlock_E
      {
        get
        {
          return this.StartOfBlock_E_16R;
        }
      }

      [Description("Narrative")]
      public Tag70E[] Narrative_E_70E
      {
        get
        {
          int index = -1;
          List<Tag70E> list = new List<Tag70E>();
          int count;
          do
          {
            ++index;
            Tag70E tag70E = new Tag70E((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U0083U0012);
            count = this.ListTags((SwiftElement) tag70E).Count;
            if (count > 0)
              list.Add(tag70E);
          }
          while (count > 0);
          return list.ToArray();
        }
      }

      [Description("Narrative")]
      public Tag70E[] Tag70E_Narrative_E
      {
        get
        {
          return this.Narrative_E_70E;
        }
      }

      [Description("Party")]
      public Tag95P[] Party_E_95P
      {
        get
        {
          int index = -1;
          List<Tag95P> list = new List<Tag95P>();
          int count;
          do
          {
            ++index;
            Tag95P tag95P = new Tag95P((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U0088U0012);
            count = this.ListTags((SwiftElement) tag95P).Count;
            if (count > 0)
              list.Add(tag95P);
          }
          while (count > 0);
          return list.ToArray();
        }
      }

      [Description("Party")]
      public Tag95P[] Tag95P_Party_E
      {
        get
        {
          return this.Party_E_95P;
        }
      }

      [Description("Party")]
      public MT566.SequenceEClass.Tag95R[] Party_E_95R
      {
        get
        {
          int index = -1;
          List<MT566.SequenceEClass.Tag95R> list = new List<MT566.SequenceEClass.Tag95R>();
          int count;
          do
          {
            ++index;
            MT566.SequenceEClass.Tag95R tag95R = new MT566.SequenceEClass.Tag95R((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U008BU0012);
            count = this.ListTags((SwiftElement) tag95R).Count;
            if (count > 0)
              list.Add(tag95R);
          }
          while (count > 0);
          return list.ToArray();
        }
      }

      [Description("Party")]
      public MT566.SequenceEClass.Tag95R[] Tag95R_Party_E
      {
        get
        {
          return this.Party_E_95R;
        }
      }

      [Description("Party")]
      public Tag95Q[] Party_E_95Q
      {
        get
        {
          int index = -1;
          List<Tag95Q> list = new List<Tag95Q>();
          int count;
          do
          {
            ++index;
            Tag95Q tag95Q = new Tag95Q((SwiftElement) this, index, (SwiftDefinitionElement) MT566.U0090U0012);
            count = this.ListTags((SwiftElement) tag95Q).Count;
            if (count > 0)
              list.Add(tag95Q);
          }
          while (count > 0);
          return list.ToArray();
        }
      }

      [Description("Party")]
      public Tag95Q[] Tag95Q_Party_E
      {
        get
        {
          return this.Party_E_95Q;
        }
      }

      [Description("End Of Block")]
      public Tag16S EndOfBlock_E_16S
      {
        get
        {
          return new Tag16S((SwiftElement) this, 0, (SwiftDefinitionElement) MT566.U0093U0012);
        }
      }

      [Description("End Of Block")]
      public Tag16S Tag16S_EndOfBlock_E
      {
        get
        {
          return this.EndOfBlock_E_16S;
        }
      }

      internal SequenceEClass(SwiftElement parent, int index, bool createTags)
        : base(parent, index, createTags)
      {
      }

      public Tag70E AddNarrative_E_70E()
      {
        return new Tag70E((SwiftElement) this, this.Narrative_E_70E.Length, (SwiftDefinitionElement) MT566.U0083U0012)
        {
          Value = string.Empty
        };
      }

      public void RemoveNarrative_E_70E(Tag70E tag)
      {
        this.RemoveTag(tag.GetTag());
      }

      public Tag95P AddParty_E_95P()
      {
        return new Tag95P((SwiftElement) this, this.Party_E_95P.Length, (SwiftDefinitionElement) MT566.U0088U0012)
        {
          Value = string.Empty
        };
      }

      public void RemoveParty_E_95P(Tag95P tag)
      {
        this.RemoveTag(tag.GetTag());
      }

      public MT566.SequenceEClass.Tag95R AddParty_E_95R()
      {
        return new MT566.SequenceEClass.Tag95R((SwiftElement) this, this.Party_E_95R.Length, (SwiftDefinitionElement) MT566.U008BU0012)
        {
          Value = string.Empty
        };
      }

      public void RemoveParty_E_95R(MT566.SequenceEClass.Tag95R tag)
      {
        this.RemoveTag(tag.GetTag());
      }

      public Tag95Q AddParty_E_95Q()
      {
        return new Tag95Q((SwiftElement) this, this.Party_E_95Q.Length, (SwiftDefinitionElement) MT566.U0090U0012)
        {
          Value = string.Empty
        };
      }

      public void RemoveParty_E_95Q(Tag95Q tag)
      {
        this.RemoveTag(tag.GetTag());
      }

      public class Tag95R : SwiftTagWrapper
      {
        public string Value
        {
          get
          {
            return this.GetValue();
          }
          set
          {
            this.SetValue("95R", value);
          }
        }

        internal Tag95R(SwiftElement parent, int index, SwiftDefinitionElement definition)
          : base(parent, index, definition)
        {
        }
      }
    }
  }
}
